Part Number Hot Search : 
ADB18PS 2N377 MAX1966 BC2004A2 M3L24TCN 2SB1120 IPS041L FR152
Product Description
Full Text Search
 

To Download M69000 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  69000 69000 hiqvideo ? accelerator with integrated memory data sheet revision 1.3 august 1998 preliminary  .com .com .com .com 4 .com u datasheet
&+,36 69000 databook subject to change without notice preliminary rev. 1.3 8/31/98 copyright notice copyri g ht 1997-98 chips and technolo g ies, inc., a subsidiary of intel corporation. all rights reserved. this manual is copyri g hted by chips and technolo g ies, inc., a subsidiary of intel corporation. you may not reproduce, transmit, transcribe, store in a retrieval system, or translate into any lan g ua g e or computer lan g ua g e, in any form or by any means - elec- tronic, mechanical, ma g netic, optical, chemical, manual, or otherwise - any part of this publication without the express written permission of chips and technolo g ies, inc., a subsidiary of intel corporation. restricted rights legend use, duplication, or disclosure by the government is subject to restrictions set forth in subpara g raph (c)(1)(ii) of the ri g hts in technical data and computer software clause at 252.277-7013. trademark acknowledgment chips lo g o is a re g istered trademark of chips and technolo g ies, inc., a subsidiary of intel corporation. hiqvideo, is a trademark of chips and technolo g ies, inc., a subsidiary of intel corporation. all other trademarks are the property of their respective holders. disclaimer this document provides g eneral information for the customer. chips and technolo g ies, inc., a subsidiary of intel corporation, reserves the ri g ht to modify the information contained herein as necessary and the customer should ensure that it has the most recent revision of the document. chips makes no warranty for the use of its products and bears no responsibility for any error s which may appear in this document. the customer should be on notice that many different parties hold patents on products, components, and processes within the personal computer industry. customers should ensure that their use of the products does not infrin g e upon any patents. chips respects the patent ri g hts of third parties and shall not participate in direct or indirect patent infrin g ement. .com .com .com .com .com 4 .com u datasheet
&+,36 69000 databook subject to change without notice revision 1.3 8/31/98 ? highly integrated flat panel and crt gui accelerator & multimedia engine, palette/dac, clock synthesizer, and integrated frame buffer ? integrated high performance sdram memory ? 2mb integrated memory ? 83 mhz sdram operation ? hiqcolor ? technology implemented with tmed (temporal modulated energy distribution) ? enables 16.7 million colors on stn panel without dither ? brighter and crisper stn image ? no shimmer or mach bands on stn ? no crawling images on stn ? 256 gray shades per primary color ? panel tuning not required ? hardware windows acceleration ? single cycle 64-bit graphics engine ? system-to-screen and ? screen-to-screen bitblt ? 3-operand raster-ops ? 8/16/24 color expansion ? transparent blt - optimized for windows ? bitblt format ? acceleration in all color modes ? integrated composite ntsc / pal support ? flicker reduction circuitry ? hardware multimedia support ? zoom video port ? yuv input from system bus or video port ? yuv-rgb conversion ? capture / scaling ? video zoom up to 8x ? vertical interpolation of video data up to 720 pixels wide. ? double buffered video ? horizontal interpolation ? image mirroring ? display centering and stretching features for optimal fit of vga graphics and text on 800x600 and 1024x768 panels ? simultaneous hardware cursor and pop-up window ? 64x64 pixels by 4 colors ? 128x128 pixels by 2 colors ? pci/frame agp bus with burst mode capability and bios rom support ? power sequencing control outputs regulate application of bias voltage, +5v to the panel and +12v to the inverter for backlight operation. ? 3.3v operation, 5.0v tolerant i/o ? game acceleration ? source transparent blt ? destination transparent blt ? double buffer support for yuv and 15/ 16bpp overlay engine ? instant full screen page flip ? read back of crt scan line counters ? high-performance flat panel display resolutions and color depth at 3.3v ? 640x480 x 24bpp ? 800x600 x 24bpp ? 1024x768 x 16bpp ? 1280x1024 x 8bpp ? crt support ? integrated high performance triple 8-bit, ramdac ? flexible panel support ? support for a wide variety of monochrome and color panels ? single-panel, single-drive (ss) ? dual-panel, dual drive (dd) passive stn ? active matrix tft/mim lcd ? el panels ? plasma panels ? 36-bit direct interface to color and monochrome, single drive (ss), and dual drive (dd), stn & tft panels ? support for 16:9 aspect ratio panels ? flexible on-chip activity timer facilitates ordered shut-down of the display system ? advanced power management feature minimizes power usage in: ? normal operation ? standby (sleep) modes ? panel-off power-saving mode ? vesa standards supported ? vafc port for display of "live" video ? dpms for crt power-down ? ddc for crt plug-play & display control ? fully compatible with ibm ? vga ? packages supported ? 272 pbga ?256 mbga 69000 high performance flat panel / crt hiqvideo ? accelerator with integrated memory .com .com .com .com .com 4 .com u datasheet
&+,36 69000 databook subject to change without notice revision 1.3 8/31/98 ? drivers features ? high performance accelerated drivers ? compatible across hiqvideo family ? auto panning support ? lcd/crt/simultaneous mode support ? auto resolution change ? hw stretching/scaling ? double buffering ? internationalization ? chipscpl (control panel applet) ? direct draw support ? games sdk support ? dynamic resolution switching ? vga graphics applications in windows ? ? vesa ddc extensions ? vesa dpms extensions ? property sheet to change refresh/ display ? seamless windows support ? boot time resolution adjustment ? dive, endive ? dcaf ? multimedia software ? video port manager for zv port ? pcvideo dll plus tuner with dk board ? software utilities ? debugvga ? auto testing of all video modes ? chipsvga ? chipsext ? software documentation ? bios oem reference guide ? display driver user?s guide ? utilities user?s guide ? release notes for bios, drivers, and utilities ? software support ? dedicated software applications engineer ? bbs support for software updates ? bios features ? vga compatible bios ? pnp support ? vesa vbe 2.0 (incl. dpms) ? ddc 1, ddc 2ab ? text and graphics expansion ? auto centering ? 44 (40) k bios ? crt, lcd, simultaneous display modes ? auto resolution switch ? multiple refresh rates ? ntsc/pal support ? extended modes ? extended bios functions ? 1024x768 tft, dstn color panels ? multiple panel support (8 panels built- in) ? get panel type function ? hw popup interface ? monitor detect ? pop up support ? smi and hot key support ? system bios hooks ? set active display type ? save/restore video state ? setup memory for save/restore ?smi entry point ? int 15 calls after post, set mode ? bios modify program (bmp) ?clocks ? mode support ? panel tables ? int 15 hooks ? monitor sensing ? driver support ? windows 95 ? windows nt 4.0, nt 3.1 ? windows 98 ?win 31 69000 software support features .com .com .com .com .com 4 .com u datasheet
iii &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 revision history revision date by comments 0.1 2/28/97 te/lc/bjb first draft- official release 0.2 4/3/97 as/bjb change mclk from 110mhz to 83mhz added hiqcolor(features) updated pin descriptions updated extension registers update multimedia registers updated electrical specifications updated appendix a 1.0 8/18/97 as/bjb remove nda requirements and api status 1.1 10/10/97 bb/lnc reorganized chapters added wide extension register chapter updated flat panel registers updated crt controller registers added subsystem and subvendor id support 1.2 3/9/98 bb/lnc improved status register descriptions improved palette register chapter improved extension register descriptions improved flat panel register descriptions improved multimedia register descriptions improved bitblt engine register descriptions updated specifications chapter 1.3 7/1/98 bb/bjb added bullet-item for frame-based agp support added mbga package pinout and pin numbering added frame-based agp interface timings added mbga package mechanical specifications add differences between pci-66/frame-based agp .com .com .com .com .com 4 .com u datasheet
iv &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
v &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 list of figures ............................................................................................................................... ... xv list of tables ............................................................................................................................... ....xvii chapter 1 introduction / overview high performance integrated memory ......................................................................................1-1 frame-based agp compatibility ..............................................................................................1-1 hiqcolor ? technology ........................................................................................................... 1-1 versatile panel support ....................................................................................................... ....1-1 acceleration for all panels and all modes ................................................................................ 1-1 television ntsc/pal flicker free output................................................................................1-1 hiqvideo ? multimedia support............................................................................................... 1-3 low power consumption .......................................................................................................... 1-3 software compatibility/flexibility............................................................................................. ..1-3 display modes supported ........................................................................................................ .1-4 chapter 2 pin descriptions pin diagram, top view, ball grid array ...................................................................................2-1 pin diagram, bottom view, ball grid array...............................................................................2-2 pin diagram, top view, mini ball grid array ............................................................................2-3 pin diagram, bottom view, mini ball grid array .......................................................................2-4 pci/agp bus interface ......................................................................................................... ... 2-5 configuration pins and rom interface .................................................................................... 2-8 flat panel display interface ................................................................................................... ... 2-9 crt interface ................................................................................................................. ........2-12 video interface ............................................................................................................... ........2-13 miscellaneous ................................................................................................................. .......2-14 power and ground .............................................................................................................. ... 2-15 reserved and no connect ..................................................................................................... 2- 17 chapter 3 electrical specifications absolute maximum conditions..................................................................................................3- 1 normal operating conditions.................................................................................................... 3-1 dac characteristics............................................................................................................ ......3-1 dc characteristics ............................................................................................................. ....... 3-2 dc drive characteristics....................................................................................................... ....3-2 ac test conditions ............................................................................................................. ......3-3 ac timing characteristics - reference clock...........................................................................3-4 ac timing characteristics - clock generator ...........................................................................3-4 ac timing characteristics - reset ............................................................................................3- 5 ac timing characteristics - pci bus frame (clk = 33mhz) ...................................................3-6 ac timing characteristics - pci bus stop (clk = 33mhz)......................................................3-7 ac timing characteristics - bios rom ...................................................................................3-8 ac timing characteristics - video data port ............................................................................3-9 ac timing characteristics - panel output timing................................................................... 3-10 ac timing characteristics - a.g.p. 1x ac timing parameters...............................................3-11 chapter 4 mechanical specifications .........................................................................................................4-1 .com .com .com .com .com 4 .com u datasheet
vi &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 5 i/o and memory address maps i/o and memory address map ................................................................................................. 5-1 vga-compatible address map ................................................................................................. 5-1 address maps for going beyond vga...................................................................................... 5-2 pci configurations registers .................................................................................................. .5-3 i/o and sub-addressed register map ..................................................................................... 5-4 sub-addressing indexes and data ports .................................................................................. 5-5 lower memory map ............................................................................................................... ... 5-6 upper memory map ............................................................................................................... ... 5-7 chapter 6 register summaries pci configuration registers ................................................................................................... .. 6-1 general control & status registers .......................................................................................... 6-1 crt controller registers ....................................................................................................... ... 6-2 sequencer registers............................................................................................................ ..... 6-3 graphics controller registers .................................................................................................. .6-3 attribute controller registers ................................................................................................. ... 6-3 palette registers.............................................................................................................. ......... 6-3 extension registers ............................................................................................................ ...... 6-4 flat panel registers........................................................................................................... ....... 6-6 multimedia registers........................................................................................................... ...... 6-7 bitblt registers ............................................................................................................... ........ 6-8 memory mapped wide extension registers ............................................................................ 6-8 chapter 7 pci configuration registers vendid vendor id register .................................................................................................... 7 -2 devid device id register ...................................................................................................... .7-2 devctl device control register ............................................................................................ 7-3 devstat device status register ........................................................................................... 7-5 rev revision id register ...................................................................................................... .. 7-7 prg register-level programming interface register ............................................................. 7-7 sub sub-class code register ................................................................................................ 7-8 base base class c ode register ............................................................................................ 7-8 hdr header type register ..................................................................................................... 7 -9 mbase memory base address register ............................................................................... 7-10 subvendid subsystem vendor id register ........................................................................ 7-11 subdevdid subsystem device id register ......................................................................... 7-11 intline interrupt line register.............................................................................................. 7- 12 intpin interrupt pin register ................................................................................................. 7 -12 rbase rom base address register..................................................................................... 7-13 subvendset subsystem vendor id set register ............................................................... 7-14 subdevset subsystem device id set register .................................................................. 7-14 chapter 8 general control and status registers st00 input status register 0 .................................................................................................. .8-2 st01 input status register 1 ................................................................................................. .8-3 fcr feature control register ................................................................................................. 8 -4 msr miscellaneous output register ....................................................................................... 8-5 .com .com .com .com .com 4 .com u datasheet
vii &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 9 crt controller registers crx crt controller index register ..................................................................................9-2 cr00 horizontal total register ...........................................................................................9 -3 cr01 horizontal display enable end register .................................................................... 9-3 cr02 horizontal blanking start register .............................................................................9-3 cr03 horizontal blanking end register ..............................................................................9-4 cr04 horizontal sync start register ...................................................................................9-5 cr05 horizontal sync end register ....................................................................................9-6 cr06 vertical total register .............................................................................................. ..9-7 cr07 overflow register .................................................................................................... ..9-8 cr08 preset row scan register .......................................................................................9-12 cr09 maximum scanline register ....................................................................................9-13 cr0a text cursor start register .......................................................................................9-15 cr0b text cursor end register ........................................................................................9-16 cr0c start address high register ....................................................................................9-17 cr0d start address low register .....................................................................................9-18 cr0e text cursor location high register ........................................................................9-19 cr0f text cursor location low register .........................................................................9-19 cr10 vertical sync start register .....................................................................................9-20 cr11 vertical sync end register ......................................................................................9-21 cr12 vertical display enable end register ......................................................................9-22 cr13 offset register ...................................................................................................... ... 9-22 cr14 underline location register .....................................................................................9-23 cr15 vertical blanking start register ...............................................................................9-24 cr16 vertical blanking end register ................................................................................9-24 cr17 crt mode control ................................................................................................... 9- 25 cr18 line compare register ............................................................................................9-28 cr22 memory read latch data register ..........................................................................9-28 cr30 extended vertical total register ............................................................................. 9-29 cr31 extended vertical display end register .................................................................. 9-29 cr32 extended vertical sync start register ..................................................................... 9-30 cr33 extended vertical blanking start register ............................................................... 9-31 cr38 extended horizontal total register ......................................................................... 9-32 cr3c extended horizontal blanking end register ............................................................. 9-33 cr40 extended start address register.............................................................................. 9-34 cr41 extended offset register ......................................................................................... 9-35 cr70 interlace control register ........................................................................................9-3 5 cr71 ntsc/pal video output control register ..............................................................9-36 cr72 ntsc/pal horizontal serration 1 start register .....................................................9-37 cr73 ntsc/pal horizontal serration 2 start register .....................................................9-37 cr74 ntsc/pal horizontal pulse width register ............................................................9-38 cr75 ntsc/pal filtering burst read length register .................................................... 9-39 cr76 ntsc/pal filtering burst read quantity register .................................................. 9-39 cr77 ntsc/pal filtering control register .......................................................................9-40 cr78 ntsc/pal vertical reduction register.................................................................... 9-41 cr79 ntsc/pal horizontal total fine adjust register.....................................................9-42 .com .com .com .com .com 4 .com u datasheet
viii &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 10 sequencer registers srx sequencer index register ....................................................................................... 10-2 sr00 reset register ....................................................................................................... .. 10-2 sr01 clocking mode register ........................................................................................... 10-3 sr02 plane mask register ................................................................................................ 10 -4 sr03 character map select register ................................................................................ 10-5 sr04 memory mode register ............................................................................................ 10-6 sr07 horizontal character counter reset register .......................................................... 10-7 chapter 11 graphics controller registers grx graphics controller index register ......................................................................... 11-2 gr00 set/reset register ................................................................................................... 11-2 gr01 enable set/reset register ...................................................................................... 11-3 gr02 color compare register .......................................................................................... 11-3 gr03 data rotate register ............................................................................................... 11 -4 gr04 read plane select register ..................................................................................... 11-5 gr05 graphics mode register .......................................................................................... 11-6 gr06 miscellaneous register ............................................................................................ 11- 9 gr07 color dont care register ...................................................................................... 11-10 gr08 bit mask register ................................................................................................... 1 1-10 chapter 12 attribute controller registers arx attribute controller index register ........................................................................... 12-2 ar00-ar0f palette registers 0-f ..................................................................................... 12-2 ar10 mode control register ............................................................................................. 12- 3 ar11 overscan color register .......................................................................................... 12-4 ar12 memory plane enable register ............................................................................... 12-5 ar13 horizontal pixel panning register ............................................................................ 12-6 ar14 color select register ............................................................................................... 1 2-7 chapter 13 palette registers palmask palette data mask register .............................................................................. 13-3 palstate palette state register ....................................................................................... 13-3 palrx palette read index register ............................................................................ 13-4 palwx palette write index register ............................................................................. 13-4 paldata palette data register ........................................................................................ 13-5 chapter 14 extension registers xrx extension register index register .......................................................................... 14-3 xr00 vendor id low register ........................................................................................... 14-3 xr01 vendor id high register .......................................................................................... 14-4 xr02 device id low register ............................................................................................ 14- 4 xr03 device id high register ........................................................................................... 14- 5 xr04 revision id register ................................................................................................ 1 4-5 xr05 linear base address low register .......................................................................... 14-6 xr06 linear base address high register ......................................................................... 14-6 xr08 host bus configuration register .............................................................................. 14-7 xr09 i/o control register .................................................................................................. 14-8 .com .com .com .com .com 4 .com u datasheet
ix &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr0a frame buffer mapping register ............................................................................... 14-9 xr0b pci burst write support register .......................................................................... 14-12 xr0e frame buffer page select register ....................................................................... 14-12 xr20 bitblt configuration register ................................................................................14-13 xr40 memory access control register ...........................................................................14-14 xr41-xr4f memory configuration registers .................................................................14-14 xr60 video pin control register ..................................................................................... 14-15 xr61 dpms sync control register .................................................................................14-16 xr62 gpio pin control register .....................................................................................14-17 xr63 gpio pin data register .........................................................................................14-18 xr67 pin tri-state control register ................................................................................14-19 xr70 configuration pins 0 register ................................................................................14-20 xr71 configuration pins 1 register ................................................................................14-22 xr80 pixel pipeline configuration 0 register ..................................................................14-23 xr81 pixel pipeline configuration 1 register ..................................................................14-25 xr82 pixel pipeline configuration 2 register ..................................................................14-26 xra0 cursor 1 control register ......................................................................................14-27 xra1 cursor 1 vertical extension register .....................................................................14-28 xra2 cursor 1 base address low register ....................................................................14-28 xra3 cursor 1 base address high register ...................................................................14-29 xra4 cursor 1 x-position low register ..........................................................................14-29 xra5 cursor 1 x-position high register .........................................................................14-30 xra6 cursor 1 y-position low register ..........................................................................14-30 xra7 cursor 1 y-position high register .........................................................................14-31 xra8 cursor 2 control register ......................................................................................14-32 xra9 cursor 2 vertical extension register .....................................................................14-33 xraa cursor 2 base address low register ...................................................................14-33 xrab cursor 2 base address high register ..................................................................14-34 xrac cursor 2 x-position low register .........................................................................14-34 xrad cursor 2 x-position high register ........................................................................14-35 xrae cursor 2 y-position low register .........................................................................14-35 xraf cursor 2 y-position high register .........................................................................14-36 xrc0 dot clock 0 vco m-divisor register .....................................................................14-36 xrc1 dot clock 0 vco n-divisor register .....................................................................14-37 xrc3 dot clock 0 divisor select register .......................................................................14-38 xrc4 dot clock 1 vco m-divisor register .....................................................................14-39 xrc5 dot clock 1 vco n-divisor register .....................................................................14-39 xrc7 dot clock 1 divisor select register .......................................................................14-40 xrc8 dot clock 2 vco m-divisor register .....................................................................14-41 xrc9 dot clock 2 vco n-divisor register .....................................................................14-41 xrcb dot clock 2 divisor select register ......................................................................14-42 xrcc memory clock vco m-divisor register ................................................................14-43 xrcd memory clock vco n-divisor register .................................................................14-43 xrce memory clock divisor select register ..................................................................14-44 xrcf clock configuration register .................................................................................14-45 xrd0 powerdown control register .................................................................................14-46 xrd1 power conservation control register ...................................................................14-47 xrd2 2khz down counter register ...............................................................................14-47 xre0-xreb software flag registers 0 to b ...................................................................14-48 xrf8-xrfc test registers .............................................................................................14-48 chapter 15 flat panel registers fr00 feature register ..................................................................................................... .. 15-2 fr01 crt / fp control register .......................................................................................15-2 .com .com .com .com .com 4 .com u datasheet
x &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr03 fp dot clock source register ................................................................................. 15-3 fr04 panel power sequencing delay register ................................................................ 15-4 fr05 power down control 1 register ............................................................................... 15-5 fr06 fp power down control register ............................................................................ 15-6 fr08 fp pin polarity register ........................................................................................... 15 -7 fr0a programmable output drive register ...................................................................... 15-8 fr0b fp pin control 1 register ......................................................................................... 15-9 fr0c pin control 2 register ............................................................................................ 15- 10 fr0f activity timer control register ............................................................................... 15-11 fr10 fp format 0 register ............................................................................................. 15-1 2 fr11 fp format 1 register ............................................................................................. 15-1 4 fr12 fp format 2 register ............................................................................................ 15-1 6 fr13 fp format 3 register ............................................................................................ 15-1 8 fr16 frc option select register .................................................................................. 15-19 fr17 polynomial frc control register .......................................................................... 15-20 fr18 fp text mode control register .............................................................................. 15-20 fr19 blink rate control register .................................................................................... 15-21 fr1a stn-dd buffering control register ....................................................................... 15-22 fr1e m (acdclk) control register ............................................................................... 15-22 fr1f diagnostic register ................................................................................................ 15 -23 fr20 fp horizontal panel display size lsb register .................................................... 15-24 fr21 fp horizontal sync start lsb register .................................................................. 15-24 fr22 fp horizontal sync end register ........................................................................... 15-25 fr23 fp horizontal total lsb register .......................................................................... 15-25 fr24 fp hsync (lp) delay lsb register ....................................................................... 15-26 fr25 fp horizontal overflow 1 register ......................................................................... 15-26 fr26 fp horizontal overflow 2 register ......................................................................... 15-27 fr27 fp hsync (lp) width and disable register ........................................................... 15-27 fr30 fp vertical panel size lsb register ..................................................................... 15-28 fr31 fp vertical sync start lsb (fr31) register .......................................................... 15-28 fr32 fp vertical sync end register ............................................................................... 15-29 fr33 fp vertical total register ...................................................................................... 15-29 fr34 fp vsync (flm) delay register ............................................................................ 15-30 fr35 fp vertical overflow 1 register ............................................................................. 15-30 fr36 fp vertical overflow 2 register ............................................................................. 15-31 fr37 fp vsync (flm) disable ........................................................................................ 15-31 fr40 horizontal compensation register ......................................................................... 15-32 fr41 horizontal stretching register ................................................................................ 15-34 fr48 vertical compensation register ............................................................................. 15-35 fr49-4c text mode vertical stretching register ............................................................ 15-36 fr4d vertical line replication register .......................................................................... 15-36 fr4e selective vertical stretching disable register ....................................................... 15-37 fr70 tmed red seed register ...................................................................................... 15-38 fr71 tmed green seed register .................................................................................. 15-38 fr72 tmed blue seed register ..................................................................................... 15-38 fr73 tmed control register .......................................................................................... 15-39 fr74 tmed2 control register ......................................................................................... 15-40 chapter 16 multimedia registers mr00 module capability register ...................................................................................... 16-2 mr01 secondary capability register ................................................................................ 16-2 mr02 capture control 1 register ...................................................................................... 16-3 mr03 capture control 2 register ...................................................................................... 16-4 mr04 capture control 3 register ...................................................................................... 16-5 .com .com .com .com .com 4 .com u datasheet
xi &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr05 capture control 4 register ......................................................................................16-6 mr06 capture memory address ptr1 low register .......................................................16-7 mr07 capture memory address ptr1 mid register ........................................................16-7 mr08 capture memory address ptr1 high register .......................................................16-7 mr09 capture memory address ptr2 low register .......................................................16-8 mr0a capture memory address ptr2 mid register ........................................................16-8 mr0b capture memory address ptr2 high register ......................................................16-8 mr0c capture line memory storage width register ....................................................... 16-9 mr0e capture window x-left low register .................................................................. 16-9 mr0f capture window x-left high register ..................................................................16-9 mr10 capture window x-right low register .............................................................. 16-10 mr11 capture window x-right high register ............................................................. 16-10 mr12 capture window y-top low register .................................................................. 16-11 mr13 capture window y-top high register ................................................................. 16-11 mr14 capture window y-bottom low register .......................................................... 16-12 mr15 capture window y-bottom high register ......................................................... 16-12 mr16 h-scale register .................................................................................................16-1 3 mr17 v-scale register .................................................................................................16-1 3 mr18 capture frame/field count register .................................................................... 16-13 mr1e playback control 1 register ..................................................................................16-14 mr1f playback control 2 register ..................................................................................16-15 mr20 playback control 3 register ..................................................................................16-16 mr21 double buffer status register ............................................................................... 16-17 mr22 playback memory address ptr1 low register ....................................................16-18 mr23 playback memory address ptr1 mid register ....................................................16-18 mr24 playback memory address ptr1 high register ...................................................16-18 mr25 playback memory address ptr2 low register ....................................................16-19 mr26 playback memory address ptr2 mid register ....................................................16-19 mr27 playback memory address ptr2 high register ...................................................16-19 mr28 playback line memory fetch width register ........................................................16-20 mr2a playback window x-left low register ..............................................................16-20 mr2b playback window x-left high register ..............................................................16-20 mr2c playback window x-right low register ............................................................ 16-21 mr2d playback window x-right high register ........................................................... 16-21 mr2e playback window y-top low register ................................................................16-22 mr2f playback window y-top high register ...............................................................16-22 mr30 playback window y-bottom low register ........................................................ 16-23 mr31 playback window y-bottom high register ....................................................... 16-23 mr32 h-zoom register ..................................................................................................16-2 4 mr33 v-zoom register ..................................................................................................16-2 4 mr34 playback line display width register ...................................................................16-25 mr3c color key control 1 register ................................................................................16-25 mr3d-3f color key registers .........................................................................................16-26 mr40-42 color key mask registers ................................................................................16-26 mr43 line count low register ....................................................................................... 16-27 mr44 line count high register ...................................................................................... 16-27 chapter 17 bitblt registers br00 source and destination span register .................................................................... 17-2 br01 pattern/source expansion background color & transparency key register .......... 17-3 br02 pattern/source expansion foreground color register ............................................ 17-4 br03 monochrome source control register .....................................................................17-5 br04 bitblt control register ...........................................................................................17- 7 br05 pattern address register .......................................................................................17-11 br06 source address register .......................................................................................17-12 .com .com .com .com .com 4 .com u datasheet
xii &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br07 destination address register ................................................................................. 17-13 br08 destination width & height register ...................................................................... 17-14 br09 source expansion background color & transparency key register .................... 17-15 br0a source expansion foreground color register ...................................................... 17-16 chapter 18 memory-mapped wide extension registers er00 central interrupt control register ............................................................................ 18-2 er01 central interrupt status/acknowledge register ....................................................... 18-3 er03 miscellaneous function register ............................................................................. 18-4 appendix a display modes ............................................................................................................................... ..a-1 crt-only display modes ........................................................................................................ .a-2 standard vga crt-only display modes .................................................................................a-2 chips extended vga crt-only display modes.......................................................................a-3 display modes.................................................................................................................. .........a-6 flat panel-only and simultaneous 640x480 (vga) display modes .........................................a-6 flat panel-only and simultaneous 800x600 (svga) display modes.......................................a-7 flat panel-only and simultaneous 1024x768 display modes ..................................................a-8 flat panel-only and simultaneous 1280x1024 display modes ................................................a-9 appendix b clock generation ...........................................................................................................................b-1 clock synthesizer ............................................................................................................. .......b-1 dot clock (dclk) .............................................................................................................. .......b-1 memory clock (mclk) ........................................................................................................... ..b-1 pll parameters ................................................................................................................ .......b-2 programming the clock synthesizer.........................................................................................b-3 dclk programming ............................................................................................................... ...b-3 mclk programming............................................................................................................... ...b-3 programming constraints ........................................................................................................ .b-4 programming example ........................................................................................................... ..b-4 pcb layout considerations ..................................................................................................... b-5 display memory bandwidth ...................................................................................................... b-7 stn-dd panel buffering ........................................................................................................ ..b-8 horizontal and vertical clocking .............................................................................................. b-9 appendix c panel power sequencing ........................................................................................................... c-1 appendix d hardware cursor and pop up window ................................................................................ d-1 basic cursor configuration .................................................................................................... .d-1 base address for cursor data ................................................................................................ d- 2 cursor vertical extension ..................................................................................................... ... d-2 cursor colors ................................................................................................................. ......... d-2 cursor positioning ............................................................................................................ ....... d-3 cursor modes .................................................................................................................. ........ d-3 32x32x2bpp & 64x64x2bpp and/xor pixel plane modes .................................................... d-4 64x64x2bpp 4-color mode ...................................................................................................... d -6 64x64x2bpp 3-color and transparency mode ........................................................................ d-7 128x128x1bpp 2-color mode .................................................................................................. d-8 128x128x1bpp 1-color and transparency mode .................................................................... d-9 .com .com .com .com .com 4 .com u datasheet
xiii &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 appendix e bitblt operation .......................................................................................................................... e-1 introduction .................................................................................................................. ........... e-1 color depth configuration and color expansion .................................................................... e-2 graphics data size limitations ............................................................................................... e -3 bit-wise operations ........................................................................................................... ..... e-3 per-pixel write-masking operations ....................................................................................... e-7 when the source and destination locations overlap ............................................................ e-8 contiguous vs. discontiguous graphics data ....................................................................... e-12 source data ................................................................................................................... ....... e-13 monochrome source data .................................................................................................... e-14 pattern data .................................................................................................................. ........ e-14 destination data .............................................................................................................. ...... e-17 bitblt programming examples pattern fill -- a very simple bitblt ................................... e-18 drawing characters using a font stored in system memory ............................................... e-20 .com .com .com .com .com 4 .com u datasheet
xiv &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
xv &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 list of figures figure 1-1: pixel averaging circuit .......................................................................................... 1-2 figure 1-3: data pipeline after mmux, 2 clocking ..................................................................1-4 figure 2-1: pin diagram, top view, ball grid array.................................................................2-1 figure 2-2: pin diagram, bottom view, ball grid array ...........................................................2-2 figure 2-3: pin diagram, top view, mini ball grid array .........................................................2-3 figure 2-4: pin diagram, bottom view, mini ball grid array....................................................2-4 figure 3-1: ac test timing ................................................................................................... ..3-3 figure 3-2: reference clock timing .......................................................................................3-4 figure 3-3: reset timing ..................................................................................................... ....3-5 figure 3-4: pci bus frame timing .........................................................................................3-6 figure 3-5: pci bus stop timing ............................................................................................3- 7 figure 3-6: bios rom timing ................................................................................................3- 8 figure 3-7: video data port timing .........................................................................................3- 9 figure 3-8: panel output timing ........................................................................................... 3-1 0 figure 4-1: 256+16 - contact ball grid array ......................................................................... 4-1 figure 4-2: 256 ball - mini ball grid array................................................................................4-2 figure b-1: pll elements ...................................................................................................... .b-2 figure e-1: block diagram and data paths of the bitblt engine ......................................... e-1 figure e-2: block diagram and data paths of the bitblt engine ......................................... e-7 figure e-3: source corruption in bitblt with overlapping source and destination ............ e-8 figure e-4: correctly performed bitblt with overlapping source and destination ........... e-10 figure e-5: suggested starting points for source and destination overlap situations ....... e-11 figure e-6: on-screen single 6-pixel line in the frame buffer .......................................... e-12 figure e-7: on-screen 6x4 array of pixels in the frame buffer .......................................... e-13 figure e- 8: pattern data .................................................................................................... .e-15 figure e-9: monochrome pattern data -- occupies a single quadword ............................. e-15 figure e-10: 8bpp pattern data -- occupies 64 bytes (8 quadwords) ................................ e-15 figure e-11: 16bpp pattern data -- occupies 128 bytes (16 quadwords) .......................... e-16 figure e-12: 24bpp pattern data -- occupies 256 bytes (32 quadwords) .......................... e-16 figure e-13: on-screen destination for example pattern fill bitblt .................................. e-18 figure e-14: pattern data for example pattern fill bitblt .................................................. e-19 figure e-15: results of example pattern fill bitblt ........................................................... e-20 figure e-16: on-screen destination for example character drawing bitblt ..................... e-21 figure e- 17: source data in system memory for example character drawing bitblt ...... e-21 figure e-18: results of example character drawing bitblt ............................................... e-23 .com .com .com .com .com 4 .com u datasheet
xvi &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
xvii &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 list of tables table 1-1: 69000 mode support .............................................................................................. 1-4 table 3-1: absolute maximum conditions ..............................................................................3-1 table 3-2: normal operating conditions ................................................................................. 3-1 table 3-3: dac characteristics ............................................................................................... 3-1 table 3-4: dc characteristics ................................................................................................ .3-2 table 3-5: dc drive characteristics ........................................................................................3- 2 table 3-6: ac test conditions ................................................................................................ 3-3 table 3-7: ac timing characteristics - reference clock ........................................................3-4 table 3-8: ac timing characteristics - clock generator ........................................................ 3-4 table 3-9: ac timing characteristics - reset .........................................................................3-5 table 3-10: ac timing characteristics - pci bus frame (clk = 33mhz) ...............................3-6 table 3-11: ac timing characteristics - pci bus stop (clk = 33mhz) ..................................3-7 table 3-12: ac timing characteristics - bios rom ...............................................................3-8 table 3-13: ac timing characteristics - video data port ........................................................3-9 table 3-14: ac timing characteristics - panel output timing ..............................................3-10 table 3-15: ac timing characteristics - a.g.p. 1x ac timing parameters ...........................3-11 table 6-1: pci configuration registers .................................................................................6-1 table 6-2: general control & status registers ....................................................................... 6-1 table 6-3: crt controller registers .......................................................................................6-2 table 6-4: sequencer registers .............................................................................................6- 3 table 6-5: graphics controller registers ................................................................................ 6-3 table 6-6: attribute controller registers .................................................................................6-3 table 6-7: palette registers .................................................................................................. ... 6-3 table 6-8: extension registers ............................................................................................... 6-4 table 6-9: flat panel registers .............................................................................................. .6-6 table 6-10: multimedia registers ............................................................................................6- 7 table 6-11: bitblt registers ................................................................................................. .6-8 table 6-12: memory mapped wide extension registers ........................................................6-8 table 7-1: pci configuration registers ..................................................................................7-1 table 15-1: flat panel registers ...........................................................................................15 -1 table 16-1: multimedia registers .........................................................................................16-1 table 16-2: color key bit assignments ...............................................................................16-26 table a-1: standard vga crt-only display modes ............................................................. a-2 table a-2: extended vga crt-only display modes ............................................................. a-3 table a-3: flat panel-only and simultaneous 640x480 (vga) display modes...................... a-6 table a-4: flat panel-only and simultaneous display modes for 800x600 panels ............... a-7 table a-5: flat panel-only and simultaneous display modes for 1024x768 flat panels ...... a-8 table a-6: flat panel-only and simultaneous display modes for 1280x1024 flat panel ...... a-9 table d-1: memory organization 32x32x2bpp and/xor pixel plane mode ........................ d-4 table d-2: memory organization 64x64x2bpp and/xor pixel plane mode ......................... d-5 table d-3: pixel data 32x32x2bpp and 64x64x2bpp and/xor pixel plane modes ............. d-5 table d-4: memory organization 64x64x2bpp 4-color mode ................................................ d-6 table d- 5: pixel data 64x64x2bpp 4-color mode .................................................................. d-6 table d-6: memory organization 64x64x2bpp 3-color & transparency mode ..................... d-7 table d-7: pixel data 64x64x2bpp 3-color & transparency mode ...................................... d-7 table d-8: memory organization 128x128x1bpp 2-color mode ............................................ d-8 table d-9: pixel data 128x128x1bpp 2-color mode .............................................................. d-8 table d-10: memory organization 128x128x1bpp 1-color & transparency mode ............... d-9 table d-11: pixel bit definitions 128x128x1bpp 1-color & transparency mode ................... d-9 table e-1: bit-wise operations and 8-bit codes (00 - 5f) .................................................... e-4 table e-2: bit-wise operations and 8-bit codes (60 - bf) .................................................... e-5 table e-3: bit-wise operations and 8-bit codes (c0 - ff) .................................................... e-6 .com .com .com .com .com 4 .com u datasheet
xviii &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
introduction / overview 1-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 1 introduction / overview the 69000 is the first product in the chips family of portable graphics accelerator product line that integrates high performance memory technology for the graphics frame buffer. based on the proven hiqvideo ? graphics accelerator core, the 69000 combines state-of-the-art flat panel controller capabilities with low power, high performance integrated memory. the result is the start of a high performance, low power, highly integrated solution for the premier family of portable graphics products. high performance integrated memory the 69000 is the first member of the hiqvideo ? family to provide integrated high performance synchronous dram (sdram) memory technology. targeted at the mainstream notebook market, the 69000 incorporates 2mb of proprietary integrated sdram for the graphics/video frame buffer. the integrated sdram memory can support up to 83mhz operation, thus increasing the available memory bandwidth for the graphics subsystem. the result is support for additional high color / high resolution graphics modes combined with real-time video acceleration. this additional bandwidth also allows more flexibility in the other graphics functions intensely used in graphical user interfaces (guis) such as microsoft ? windows ?. frame-based agp compatibility the 69000 graphics is designed to be used with either 33mhz pci, or with agp as a frame-based agp device, allowing it to be used with the agp interface provided by the latest core logic chipsets. hiqcolor tm technology the 69000 integrates chips breakthrough hiqcolor ? technology. based on the chips proprietary tmed ? (temporal modulated energy distribution) algorithm, hiqcolor technology is a unique process that allows the display of 16.7 million true colors on stn panels without using frame rate control (frc) or dithering. in addition, tmed also reduces the need for the panel tuning associated with current frc-based algorithms. independent of panel response, the tmed algorithm eliminates all of the flaws (such as shimmer, mach banding, and other motion artifacts) normally associated with dithering and frc. combined with the new fast response, high-contrast, and low-crosstalk technology found in new stn panels, hiqcolor technology enables the best display quality and color fidelity previously only available with tft technology. versatile panel support the hiqvideo ? family supports a wide variety of monochrome and color single-panel, single-drive (ss) and dual-panel, dual drive (dd), standard and high-resolution, passive stn and active matrix tft/mim lcd, and el panels. with hiqcolor ? technology, up to 256 gray scales are supported on passive stn lcds. up to 16.7m different colors can be displayed on passive stn lcds and up to 16.7m colors on 24- bit active matrix lcds. the 69000 offers a variety of programmable features to optimize display quality. vertical centering and stretching are provided for handling modes with less than 480 lines on 480-line panels. horizontal and vertical stretching capabilities are also available for both text and graphics modes for optimal display of vga text and graphics modes on 800x600, 1024x768 and 1280x1024 panels. television ntsc/pal flicker free output the 69000 uses a flicker reduction process which makes text of all fonts and sizes readable by reducing the flicker and jumping lines on the display. to accomplish this, the 69000 uses a line buffer and digital filters to average adjacent vertical lines for odd/even display. the chip also uses both horizontal and vertical interpolation to make both graphics and text appear "smooth" on the television. this process reduces the effect of flicker in the ntsc mode. .com .com .com .com .com 4 .com u datasheet
1-2 introduction / overview &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 flicker reduction can be accomplished by averaging the contents of successive horizontal and vertical lines. see figure 1-1. the flicker reduction circuit is in pixel data path, with the vertical averaging circuit followed by the horizontal averaging circuit. both have bypass controls (vertical filter enable and horizontal filter enable). this flicker averaging circuit is placed before the dac and before the flat panel pick off. the flat panel pins can be used for test verification of correct filter operation. figure 1-1: pixel averaging circuit for the non-flicker reduction mode, the display line data is stored sequentially in the fifo buffer. for the flicker reduction mode the fifo buffer data is written in strips of segments because the vertical filter averages the current and next line pixels. each segment is written to alternate locations in the fifo buffer. see fig. 1-2. the write pointer is modified to skip through the fifo buffer. a current/next line flag is carried through the display pipeline to keep track of which line the pixel comes from. this is needed for the color key logic and the vertical filter averaging circuitry to align to the correct segment of pixels. the mmux color key is formed on the current pixel pair. flicker reduced ntsc is supported in the following extended graphics modes: ntsc: 640x480, 60 hz interlaced pal: 800x600, 50 hz, interlaced color depths: 8 bit indexed 15 bit rgb 16 bit rgb 24 bit rgb normal vertical averaging vertical and horizontal averag ing fig. 1 horizontal averaging full black 3/4 black 1/2 black 1/4 black 1/8 black white .com .com .com .com .com 4 .com u datasheet
introduction / overview 1-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 the television output circuitry supports both ntsc and pal standard formats, and scales images appropriately for both television formats and panels. hiqvideo ? multimedia support the 69000 uses independent multimedia capture and display systems on-chip. the capture system places data in display memory (usually off screen) and the display system places the data in a window on the screen. the capture system can receive data from either the system bus or from the zv enabled video port in either rgb or yuv format. the input data can also be scaled down before storage in display memory. capture of input data may also be double buffered for smoothing and to prevent image tearing. to better support mpeg2 (dvd) video decompression, the 69000 includes a line buffer to directly support the native format of mpeg2 data of 720 pixels wide. the capture engine also supports image mirroring and rotation for camera support. this feature is important for applications such as video teleconferencing because it allows the image movements to appear on the display as it actually occurs. the image and movement is not a mirror image of what is actually taking place. the display system can independently place either rgb or yuv data from anywhere in display memory into an on-screen window which can be any size and located at any pixel boundary (yuv data is converted to rgb "on-the-fly" on output). this is important for the 69000 since the video must be stored in the integrated 2mb frame buffer and thus optimized to require very little space. storing data in the native yuv format uses less memory for video while providing excellent playback display quality. non-rectangular windows are supported via color keying. the data can be fractionally zoomed on output up to 8x to fit the on-screen window and can be horizontally and vertically interpolated. interlaced and non- interlaced data are both supported in the capture and display systems. low power consumption the 69000 uses a variety of advanced power management features to reduce power consumption of the display sub-system and to extend battery life. optimized for 3.3v operation, the 69000 internal logic, bus and panel interfaces operate at 3.3v but can tolerate 5v operation. software compatibility / flexibility the hiqvideo controllers are fully compatible with the vga standard at both the register and bios levels. chips and third-party vendors supply a fully vga compatible bios, end-user utilities and drivers for common application programs. acceleration for all panels and all modes the 69000 graphics engine is designed to support high performance graphics and video acceleration for all supported display resolutions, display types, and color modes. there is no compromise in performance operating in 8, 16, or 24 bpp color modes allowing true acceleration while displaying up to 16.7m colors. .com .com .com .com .com 4 .com u datasheet
1-4 introduction / overview &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 display modes supported the 69000 supports the modes which appear in the table below. table 1-1: 69000 mode support resolution color (bpp) refresh rates (hz) 640x480 8 60, 75, 85 640x480 16 60, 75, 85 640x480 24 60, 75, 85 800x600 8 60, 75, 85 800x600 16 60, 75, 85 800x600 24 60, 75, 85 1024x768 8 60, 75, 85 1024x768 16 60, 75, 85 1280x1024 8 60 .com .com .com .com .com 4 .com u datasheet
pin descriptions 2-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 2 pin descriptions pin diagram, top view figure 2-1: pin diagram, ball grid array abcdefghjklmnprtuvwy 20 cfg4 cfg2 n/c n/c n/c n/c n/c n/c n/c n/c rma17 n/c n/c n/c n/c n/c vp1 vp6 vp10 rsvd 20 19 cfg6 cfg5 cfg1 n/c n/c n/c n/c n/c n/c n/c rma16 n/c n/c n/c n/c vp2 vp5 vp9 vp11 vp14 19 18 n/c cfg7 cfg3 cfg0 n/c n/c n/c n/c n/c n/c n/c n/c n/c n/c vp0 vp4 vp8 vp13 vp15 vclk 18 17 rma2 n/c cfg8 tmd0 n/c n/c memgnd memvcc n/c n/c n/c n/c memvcc memgnd vp3 vp7 vp12 pclk href p33 17 16 rma4 rma1 n/c cfg9 gpio4 vref p34 p31 16 15 rma7 rma5 rma3 rma0 p35p32p30p28 15 14 rma10 rma8 rma6 memgnd gnd p29 p27 p25 14 13 rma14 rma11 rma9 memvcc iovcc p26 p24 p21 13 12 tmd1 rma15 rma13 rma12 12 gnd gnd gnd rgnd p23 p22 corvcc p20 12 11 n/c n/c n/c n/c 11 gnd gnd gnd rgnd p16p19p18p17 11 10 n/c cfg10 cfg11 n/c 10 gnd gnd gnd rgnd p15p12p13p14 10 9 cfg12 cfg13 cfg15 corvcc 9 gnd gnd gnd rgnd p7 p8 p10 p11 9 8 cfg14 rmd0 rmd2 rsvd jklm iovcc p4 p6 p9 8 7 rmd1 rmd3 rmd5 gnd gnd p1 p3 p5 7 6 rmd4 rmd6 romoe# gpio7 enabkl m p0 p2 6 5 rmd7 rsvd rsvd dckvcc dacvcc enavdd flm shfclk 5 4 int# dckgnd dckvcc rsvd stndby ad30 gnd iovcc ad20 trdy# devsel ad13 iovcc gnd ad2 gpio1 ddc clk grn enavee lp 4 3 dckgnd mckvcc refclk rsvd ad31 ad27 ad24 ad23 ad19 c/be2# serr# ad14 ad10 c/be0# ad5 ad1 hsync ddc data blue red 3 2 mckgnd dclkin rsvd busclk ad29 ad25 idsel ad21 ad17 frame# perr# c/be1 ad12 ad9 ad7 ad3 ad0 vsync rset dacgnd 2 1 rsvd mclkin reset# ad28 ad26 c/be# ad22 ad18 ad16 irdy# stop# par ad15 ad11 ad8 ad6 ad4 gpio0 iovcc rgnd 1 abcdefghjklmnprtuvwy .com .com .com .com .com 4 .com u datasheet
2-2 pin descriptions &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 pin diagram, bottom view fi g ure 2-2: pin dia g ram, ball grid arra y ywvutrpnmlkjhgfedcba 20 rsvd vp10 vp6 vp1 n/c n/c n/c n/c n/c rma17 n/c n/c n/c n/c n/c n/c n/c n/c cfg2 cfg4 20 19 vp14 vp11 vp9 vp5 vp2 n/c n/c n/c n/c rma16 n/c n/c n/c n/c n/c n/c n/c cfg1 cfg5 cfg6 19 18 vclk vp15 vp13 vp8 vp4 vp0 n/c n/c n/c n/c n/c n/c n/c n/c n/c n/c cfg0 cfg3 cfg7 n/c 18 17 p33 href pclk vp12 vp7 vp3 memgnd memvcc n/c n/c n/c n/c memvcc memgnd n/c n/c tmd0 cfg8 n/c rma2 17 16 p31 p34 vref gpio4 cfg9 n/c rma1 rma4 16 15 p28p30p32p35 rma0 rma3 rma5 rma7 15 14 p25 p27 p29 gnd memgnd rma6 rma8 rma10 14 13 p21 p24 p26 iovcc memvcc rma9 rma11 rma14 13 12 p20 corvcc p22 p23 12 rgnd gnd gnd gnd rma12 rma13 rma15 tmd1 12 11 p17p18p19p16 11 rgnd gnd gnd gnd n/c n/c n/c n/c 11 10 p14p13p12p15 10 rgnd gnd gnd gnd n/c cfg11 cfg10 n/c 10 9 p11 p10 p8 p7 9 rgnd gnd gnd gnd corvcc cfg15 cfg13 cfg12 9 8 p9 p6 p4 iovcc ml kj rsvd rmd2 rmd0 cfg14 8 7 p5 p3 p1 gnd gnd rmd5 rmd3 rmd1 7 6 p2 p0 m enabkl gpio7 romoe# rmd6 rmd4 6 5 shfclk flm enavdd dacvcc dckvcc rsvd rsvd rmd7 5 4 lp enavee grn ddc clk gpio1 ad2 gnd iovcc ad13 devsel trdy# ad20 iovcc gnd ad30 stndby rsvd dckvcc dckgnd int# 4 3 red blue ddc data hsync ad1 ad5 c/be0# ad10 ad14 serr# c/be2# ad19 ad23 ad24 ad27 ad31 rsvd refclk mckvcc dckgnd 3 2 dacgnd rset vsync ad0 ad3 ad7 ad9 ad12 c/be1 perr# frame# ad17 ad21 idsel ad25 ad29 busclk rsvd dclkin mckgnd 2 1 rgnd iovcc gpio0 ad4 ad6 ad8 ad11 ad15 par stop# irdy# ad16 ad18 ad22 c/be3# ad26 ad28 reset# mclkin rsvd 1 ywvutrpnmlkjhgfedcba .com .com .com .com .com 4 .com u datasheet
pin descriptions 2-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 pin diagram, top view figure 2-3: pin diagram, mini ball grid array 12345678910111213141516 a dclkin mck gnd dck gnd romoe# gpio7 rmd1 cfg14 rma15 cfg10 rma12 rma6 rma3 cfg8 cfg3 cfg0 tmd0 n/c n/c a b rsvd n/c ref clk dck vcc int# rmd6 rmd2 cfg15 tmd1 rma14 cfg12 rma9 rma4 cfg9 cfg4 n/c n/c n/c b c bus clk ad30 stnd by n/c dck gnd rmd4 cor vcc n/c rma10 rma5 rma0 cfg5 n/c n/c n/c n/c c d ad26 ad24 ad31 mck vcc n/c rmd7 rmd3 cor vcc rma11 rma7 rma1 cfg6 n/c mem gnd n/c n/c d e idsel ad22 ad27 reset# mclkin dck vcc rmd5 rmd0 cfg13 rma13 cfg11 rma8 rma2 cfg1 n/c mem gnd n/c n/c e f ad20 ad18 c/be3# ad25 ad29 gnd gnd gnd gnd mem vcc cfg7 cfg2 n/c mem gnd n/c n/c f g ad16 c/be2# ad19 ad21 ad28 gnd iovcc iovcc gnd mem vcc mem vcc mem vcc mem vcc mem vcc mem gnd n/c g h irdy# trdy# frame# ad17 ad23 gnd iovcc gnd gnd gnd gnd gnd gnd gnd mem gnd n/c h j stop# par perr# serr# dev sel# c/be1# cor vcc iovcc gnd mem gnd gnd gnd gnd gnd mem gnd n/c j k ad15 ad13 ad12 ad14 ad10 red hsync iovcc p15 p21 iovcc iovcc iovcc gnd mem vcc n/c k l ad11 ad9 ad8 ad7 ad5 iovcc flm p9 mem vcc p22 iovcc iovcc vp15 vp7 gnd n/c l m c/be0# ad6 ad3 ad1 dac gnd m p4 p11 p20 p24 p28 p32 href vp13 vp6 vp3 m n ad4 ad2 gpio0 acti ddck ena vdd p1 p6 p13 iovcc p26 p33 pclk vp11 vp4 vp0 n/c n p ad0 gpio1 32khz rgnd green lp p2 p8 cor vcc p19 p25 p31 p35 gpio4 vp10 vp5 vp2 p r vsync ddc data dac vcc ena bkl p0 p5 p10 p14 p17 p23 p29 p34 vclk vp12 vp8 rma17 r t rset blue ena vee shf clk p3 p7 p12 p16 p18 p27 p30 vref vp14 vp9 vp1 rma16 t 12345678910111213141516 .com .com .com .com .com 4 .com u datasheet
2-4 pin descriptions &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 pin diagram, bottom view figure 2-4: pin diagram, mini ball grid array 16151413121110987654321 a n/c n/c tmd0 cfg0 cfg3 cfg8 rma3 rma6 rma12 rma15 cfg10 rmd1 cfg14 gpio7 romoe# dck gnd mck gnd dclkin a b n/c n/c n/c cfg4 cfg9 rma4 rma9 rma14 cfg12 tmd1 rmd2 cfg15 rmd6 int# dck vcc ref clk n/c rsvd b c n/c n/c n/c n/c cfg5 rma0 rma5 rma10 n/c cor vcc rmd4 dck gnd n/c stnd by ad30 bus clk c d n/c n/c mem gnd n/c cfg6 rma1 rma7 rma11 cor vcc rmd3 rmd7 n/c mck vcc ad31 ad24 ad26 d e n/c n/c mem gnd n/c cfg1 rma2 rma8 rma13 cfg11 rmd0 cfg13 rmd5 dck vcc mclkin reset# ad27 ad22 idsel e f n/c n/c mem gnd n/c cfg2 cfg7 mem vcc gnd gnd gnd gnd ad29 ad25 c/be3# ad18 ad20 f g n/c mem gnd mem vcc mem vcc mem vcc mem vcc mem vcc gnd iovcc iovcc gnd ad28 ad21 ad19 c/be2# ad16 g h n/c mem gnd gnd gnd gnd gnd gnd gnd gnd iovcc gnd ad23 ad17 frame# trdy# irdy# h j n/c mem gnd gnd gnd gnd gnd mem gnd gnd iovcc cor vcc c/be1# dev sel# serr# perr# par stop# j k n/c mem vcc gnd iovcc iovcc iovcc p21 p15 iovcc hsync red ad10 ad14 ad12 ad13 ad15 k l n/c gnd vp7 vp15 iovcc iovcc p22 mem vcc p9 flm iovcc ad5 ad7 ad8 ad9 ad11 l m vp3 vp6 vp13 href p32 p28 p24 p20 p11 p4 m dac gnd ad1 ad3 ad6 c/be0# m n n/c vp0 vp4 vp11 pclk p33 p26 iovcc p13 p6 p1 ena vdd ddck gpio0 acti ad2 ad4 n p vp2 vp5 vp10 gpio4 p35 p31 p25 p19 cor vcc p8 p2 lp green rgnd gpio1 32khz ad0 p r rma17 vp8 vp12 vclk p34 p29 p23 p17 p14 p10 p5 p0 ena bkl dac vcc ddc data vsync r t rma16 vp1 vp9 vp14 vref p30 p27 p18 p16 p12 p7 p3 shf clk ena vee blue rset t 16151413121110987654321 .com .com .com .com .com 4 .com u datasheet
pin descriptions 2-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 pci/agp bus interface note: s/ts stands for sustained tri-state. these signals are driven by only one device at a time, are driven high for one clock before released, and are not driven for at least one cycle after being released by the previous device. a pull-up provided by the bus controller is used to maintain an inactive level between transactions. bga mbga pin pin pin name type active powered description c1 e4 reset# in low iovcc & gnd reset. this input sets all si g nals and re g isters in the chip to a known state. all outputs from the chip are tri-stated or driven to an inactive state. this pin is ignored during standby mode (stndby# pin low). the remainder of the system (therefore the system bus) may be powered down if desired (all bus output pins are tri-stated in standby mode). d2 c1 busclk in hi g h iovcc & gnd bus clock. this input provides the timin g reference for all pci and agp bus transactions. all bus inputs except reset# are sampled on the risin g ed g e of bclk. bclk may be any frequency from dc up to 33mhz for pci, or up to 66mhz for agp. m1 j2 par i/o hi g h iovcc & gnd parity. this si g nal is used to maintain even parity across ad0-31 and c/be0-3#. par is stable and valid one clock after the address phase. for data phases par is stable and valid one clock after either irdy# is asserted on a write transaction or trdy# is asserted on a read transaction. once par is valid, it remains valid until one clock after the completion of the current data phase (i.e., par has the same timin g as ad0-31 but delayed by one clock). the bus master drives par for address and write data phases; the tar g et drives par for read data phases. k2 h3 frame# in low iovcc & gnd cycle frame. driven by the current master to indicate the be g innin g and duration of an access. assertion indicates a bus transaction is be g innin g (while asserted, data transfers continue); de- assertion indicates the transaction is in the final data phase k1 h1 irdy# in low iovcc & gnd initiator ready. indicates the bus master's ability to complete the current data phase of the transaction. durin g a write, irdy# indicates valid data is present on ad0-31; durin g a read it indicates the master is prepared to accept data. a data phase is completed on any clock when both irdy# and trdy# are sampled then asserted (wait cycles are inserted until this occurs). k4 h2 trdy# s/ts low iovcc & gnd tar g et ready. indicates the tar g et's ability to complete the current data phase of the transaction. durin g a read, trdy# indicates that valid data is present on ad0-31; durin g a write it indicates the tar g et is prepared to accept data. a data phase is completed on any clock when both irdy# and trdy# are sampled then asserted (wait cycles are inserted until this occurs). l1 j1 stop# s/ts low iovcc & gnd stop. indicates the current tar g et is requestin g the master to stop the current transaction. .com .com .com .com .com 4 .com u datasheet
2-6 pin descriptions &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 pci/agp bus interface (continued) note: s/ts stands for sustained tri-state. these signals are driven by only one device at a time, are driven high for one clock before released, and are not driven for at least one cycle after being released by the previous device. a pull-up provided by the bus controller is used to maintain an inactive level between transactions. bga mbga pin pin pin name type active powered description l4 j5 devsel# s/ts low iovcc & gnd device select. indicates the current tar g et has decoded its address as the tar g et of the current access l2 j3 perr# s/ts low iovcc & gnd parity error. this si g nal reports data parity errors (except for special cycles where serr# is used). the perr# pin is sustained tri-state. the receivin g a g ent will drive perr# active two clocks after detectin g a data parity error. perr# will be driven hi g h for one clock before bein g tri-stated as with all sustained tri-state si g nals. perr# will not report status until the chip has claimed the access by assertin g devsel# and completin g the data phase. l3 j4 serr# od low iovcc & gnd system error. used to report system errors where the result will be catastrophic (address parity error, data parity errors for special cycle commands, etc.). this output is actively driven for a sin g le pci/agp clock cycle synchronous to bclk and meets the same setup and hold time requirements as all other bused si g nals. serr# is not driven hi g h by the chip after bein g asserted, but is pulled hi g h only by a weak pull-up provided by the system. thus, serr# on the pci/agp bus may take two or three clock periods to fully return to an inactive state. a4 b5 int# od low iovcc & gnd interrupt request pin. .com .com .com .com .com 4 .com u datasheet
pin descriptions 2-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 pci/agp bus interface (continued) bga mbga pin pin pin name type active powered description u2 p1 t3 m4 r4 n2 t2 m3 u1 n1 r3 l5 t1 m2 r2 l4 r1 l3 p2 l2 n3 k5 p1 l1 n2 k3 m4 k2 m3 k4 n1 k1 j1 g1 j2 h4 h1 f2 j3 g3 j4 f1 h2 g4 g1 e2 h3 h5 g3 d2 f2 f4 e1 d1 f3 e3 d1 g5 e2 f5 f4 c2 e3 d3 ad0 ad1 ad2 ad3 ad4 ad5 ad6 ad7 ad8 ad9 ad10 ad11 ad12 ad13 ad14 ad15 ad16 ad17 ad18 ad19 ad20 ad21 ad22 ad23 ad24 ad25 ad26 ad27 ad28 ad29 ad30 ad31 i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h iovcc & gnd pci/agp address/data bus address and data are multiplexed on the same pins. a bus transaction consists of an address phase followed by one or more data phases (both read and write bursts are allowed by the bus definition). the address phase is the clock cycle in which frame# is asserted (ad0-31 contain a 32-bit physical address). for i/o, the address is a byte address. for memory and confi g uration, the address is a dword address. durin g data phases ad0-7 contain the lsb and 24-31 contain the msb. write data is stable and valid when irdy# is asserted; read data is stable and valid when trdy# is asserted. data transfers only durin g those clocks when both irdy# and trdy# are asserted. c/be3-0 command type supported 0000 interrupt acknowled g e 0001 special cycle 0010 i/o read y 0011 i/o write y 0100 -reserved- 0101 -reserved- 0110 memory read y 0111 memory write y 1000 -reserved- 1001 -reserved- 1010 confi g uration read y 1011 confi g uration write y 1100 memory read multiple 1101 dual address cycle 1110 memory read line 1111 memory read & invalidate p3 m1 m2 j6 k3 g2 f1 f3 c/be0# c/be1# c/be2# c/be3# in in in in low low low low iovcc & gnd bus command/byte enables. durin g the address phase of a bus transaction, these pins define the bus command (see list above). durin g the data phase, these pins are byte enables that determine which byte lanes carry meanin g ful data: byte 0 corresponds to ad0-7, byte 1 to 8-15, byte 2 to 16-23, and byte 3 to 24-31. g2 e1 idsel in hi g hiovcc & gnd initialization device select. used as a chip select dur- in g confi g uration read and write transactions .com .com .com .com .com 4 .com u datasheet
2-8 pin descriptions &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 configuration pins and rom interface bga mbga pin pin pin name type active powered description d18 a13 c19 e12 b20 f12 c18 a12 a20 b13 b19 c12 a19 d12 b18 f11 c17 a11 d16 b12 b10 a7 c10 e9 a9 b9 b9 e8 a8 a6 c9 b7 cfg0 cfg1 cfg2 cfg3 cfg4 cfg5 cfg6 cfg7 cfg8 cfg9 cfg10 cfg11 cfg12 cfg13 cfg14 cfg15 in in in in in in in in in in in in in in in in n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a iovcc & gnd cfg0 throu g h cfg15 are latched into re g isters xr70 and xr71 on reset for use as confi g uration inputs. please see re g ister descriptions for xr70 and xr71 for complete details on the confi g uration options. b8 e8 a7 a6 c8 b7 b7 d7 a6 c6 c7 e7 b6 b6 a5 d6 rmd0 rmd1 rmd2 rmd3 rmd4 rmd5 rmd6 rmd7 in in in in in in in in hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h iovcc & gnd rmd0 throu g h rmd7 are used as bios rom data inputs durin g system startup (i.e., before the system enables the g raphics controller memory interface). c6 a4 romoe# (mclkout) out low iovcc & gnd bios rom output enable. may be confi g ured as mclk output in test mode. d15 c11 b16 d11 a17 e11 c15 a10 a16 b11 b15 c10 c14 a9 a15 d10 b14 e10 c13 b10 a14 c9 b13 d9 d12 a8 c12 e9 a13 b9 b12 a7 l19 t16 l20 r16 rma0 rma1 rma2 rma3 rma4 rma5 rma6 rma7 rma8 rma9 rma10 rma11 rma12 rma13 rma14 rma15 rma16 rma17 out out out out out out out out out out out out out out out out out out n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a iovcc & gnd these pins are bios rom address outputs rma0-17. bios roms are not normally required in portable computer desi g ns (the g raphics system bios code is normally included in the system bios rom). however, the 69000 provides bios rom interface capability for development systems and add-in card flat panel g raphics controllers. since the pci/agp bus specifications require only one load on the bus for the entire g raphics subsystem, the bios rom interface is "throu g h the chip". .com .com .com .com .com 4 .com u datasheet
pin descriptions 2-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 flat panel display interface bga mbga pin pin pin name type active powered description w6 r5 v7 n6 y6 p6 w7 t5 v8 m7 y7 r6 w8 n7 u9 t6 v9 p7 y8 l8 w9 r7 y9 m8 v10 t7 w10 n8 y10 r8 u10 k9 u11 t8 y11 r9 w11 t9 v11 p9 y12 m9 y13 k10 v12 l10 u12 r10 w13 m10 y14 p10 v13 n10 w14 t10 y15 m11 v14 r11 w15 t11 y16 p11 v15 m12 y17 n11 w16 r12 u15 p12 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 p30 p31 p32 p33 p34 p35 out out out out out out out out out out out out out out out out out out out out out out out out out out out out out out out out out out out out hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h iovcc & gnd flat panel data bus of up to 36-bits. .com .com .com .com .com 4 .com u datasheet
2-10 pin descriptions &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 flat panel display interface (continued) notes: to accommodate a wide variety of panel types, the graphics controller has been designed to output its data in any of a number of formats. these formats include different data widths for the colors belonging to each pixel, and the ability to accommodate different pixel data transfer timing requirements. for stn-dd panels, pins p0 through p35 are organized into groups corresponding to the upper and lower parts of the panel. the names of the signals for the upper and lower parts follow a naming convention of uxx and lxx, respectively. for panels that require a pair of adjacent pixels be sent with every shift clock, pins p0 through p35 are organized into groups corresponding to the first and second (from right to left) pixels of each pair of pixels being sent. the names of the signals for the first and second pixels of each such pair follow a naming convention of fxx and sxx, respectively. panels that transfer data on both edges of shfclk are also supported. see the description for register fr12 for more details. bga mbga pin pin pin name type active powered description y5 t4 shfclk out hi g h iovcc & gnd shift clock. pixel clock for flat panel data. w5 l7 flm out hi g h iovcc & gnd first line marker. flat panel equivalent of vsync. y4 p5 lp (cl1)(de) (blank#) out hi g h iovcc & gnd latch pulse. flat panel equivalent of hsync. may also be confi g ured as displa enable (de) or blank#. some panels use the si g nal name of cl1. v6 m6 m (de) (blank#) out hi g h iovcc & gnd m si g nal for panel ac drive control (may also be called acdclk). may also be confi g ured as blank# or as display enable (de) for tft panels. v5 n5 w4 t3 u6 r4 enavdd enavee (enabkl) enabkl i/o i/o i/o hi g h hi g h hi g h iovcc & gnd power sequencin g control for panel driver electronics volta g e vdd. power sequencin g control for panel bias volta g e vee. may also be confi g ured as enabkl. power sequencin g control for enablin g the backli g ht. .com .com .com .com .com 4 .com u datasheet
pin descriptions 2-11 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 flat panel display interface (continued) see the notes for this table on the previous page. mono mono mono color color color color color color color color color ss dd dd tft tft tft tft-hr stn-ss stn-ss stn-dd stn-dd stn-dd pin name 8-bit 8-bit 16 bit 9/12/16 bit 18/24 bit 36-bit 18/24 bit 8-bit (4bp) 16-bit (4bp) 8-bit (4bp) 16-bit (4bp) 24-bit p0 d0 ud3 ud7 b0 b0 fb0 fb0 r1 r1 ur1 ur0 ur0 p1 d1 ud2 ud6 b1 b1 fb1 fb1 b1 g1 ug1 ug0 ug0 p2 d2 ud1 ud5 b2 b2 fb2 fb2 g2 b1 ub1 ub0 ub0 p3 d3 ud0 ud4 b3 b3 fb3 fb3 r3 r2 ur2 ur1 lr0 p4 d4 ld3 ud3 b4 b4 fb4 sb0 b3 g2 lr1 lr0 lg0 p5 d5 ld2 ud2 g0 b5 fb5 sb1 g4 b2 lg1 lg0 lb0 p6 d6 ld1 ud1 g1 b6 sb0 sb2 r5 r3 lb1 lb0 ur1 p7 d7 ld0 ud0 g2 b7 sb1 sb3 b5 g3 lr2 lr1 ug1 p8 ld7 g3 g0 sb2 fg0 b3 ug1 ub1 p9 ld6 g4 g1 sb3 fg1 r4 ub1 lr1 p10 ld5 g5 g2 sb4 fg2 g4 ur2 lg1 p11 ld4 r0 g3 sb5 fg3 b4 ug2 lb1 p12 ld3 r1 g4 fg0 sg0 r5 lg1 ur2 p13 ld2 r2 g5 fg1 sg1 g5 lb1 ug2 p14 ld1 r3 g6 fg2 sg2 b5 lr2 ub2 p15 ld0 r4 g7 fg3 sg3 r6 lg2 lr2 p16 r0 fg4 fr0 lg2 p17 r1 fg5 fr1 lb2 p18 r2 sg0 fr2 ur3 p19 r3 sg1 fr3 ug3 p20 r4 sg2 sr0 ub3 p21 r5 sg3 sr1 lr3 p22 r6 sg4 sr2 lg3 p23 r7 sg5 sr3 lb3 p24 fr0 p25 fr1 p26 fr2 p27 fr3 p28 fr4 p29 fr5 p30 sr0 p31 sr1 p32 sr2 p33 sr3 p34 sr4 p35 sr5 shfclk shfclk shfclk shfclk shfclk shfclk shfclk shfclk shfclk shfclk shfclk shfclk shfclk pixels/ clock: 8 8 16 1 1 2 2 2-2/3 5-1/3 2-2/3 5-1/3 8 .com .com .com .com .com 4 .com u datasheet
2-12 pin descriptions &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 crt interface bga mbga pin pin pin name type active powered description u3 k7 hsync (csync) out both iovcc & gnd crt horizontal sync (polarity is pro g rammable) or "composite sync" for support of various external ntsc/pal encoder chips. v2 r1 vsync out both iovcc & gnd crt vertical sync (polarity is pro g rammable). y3 k6 v4 p4 w3 t2 red green blue out out out analo g analo g analo g dacvcc & dacgnd crt analo g video outputs from the internal color palette dac. the dac is desi g ned for a 37.5 w equivalent load on each pin (e. g . 75 w resistor on the board, in parallel with the 75 w crt load) w2 t1 rset in n/a dacvcc & dacgnd set point resistor for the internal color palette dac. a 528 w 1% resistor is required between rset and dacgnd. v3 r2 ddc data (gpio2) i/o hi g hiovcc & gnd general purpose i/o, suitable for use as ddc data. u4 n4 ddc clk (gpio3) i/o hi g hiovcc & gnd general purpose i/o, suitable for use as ddc clock. these two pins are functionally suitable for a ddc interface between the g raphics controller chip and a crt monitor. .com .com .com .com .com 4 .com u datasheet
pin descriptions 2-13 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 video interface bga mbga pin pin pin name type active powered description v16 t12 vref i/o hi g h iovcc & gnd vertical reference input. w17 m13 href in hi g h iovcc & gnd horizontal reference input y18 r13 vclk in hi g h iovcc & gnd video input clock v17 n12 pclk (vclkout) out hi g h iovcc & gnd video in port pclk out. may also be confi g ured as the vclk output in test mode. r18 n15 u20 t15 t19 p16 r17 m16 t18 n14 u19 p15 v20 m15 t17 l14 u18 r15 v19 t14 w20 p14 w19 n13 u17 r14 v18 m14 y19 t13 w18 l13 vp0 vp1 vp2 vp3 vp4 vp5 vp6 vp7 vp8 vp9 vp10 vp11 vp12 vp13 vp14 vp15 in in in in in in in in in in in in in in in in hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h hi g h iovcc & gnd video data port data bus. in zv mode, vp0-7 correspond to y0-7, and vp8-15 correspond to uv0-7. .com .com .com .com .com 4 .com u datasheet
2-14 pin descriptions &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 miscellaneous bga mbga pin pin pin name type active powered description e4 c3 stndby# in low iovcc & gnd standby control pin. pull this pin low to place the chip in standby mode. a low-to-hi g h transition on the pin will cause chan g e to exit standby mode, host standby mode, and panel off mode. c3 b3 refclk (mclkin) in hi g h iovcc & gnd reference clock input. this pin serves as the input for an external reference oscillator (usually 14.31818mhz). all internal timin g s are derived from this primary clock input source. alternatively, this can be confi g ured to be used as an alternate input for an externally provided mclk throu g h a strappin g option and re g ister pro g rammin g . however, durin g normal operation, an external mclk should be provided throu g h the mclkin pin. see the descriptions for re g isters xr70 and xrcf for complete details. b2 a1 dclkin in hi g h iovcc & gnd optional input for an externally provided dclk. enabled via strappin g option and re g ister pro g rammin g . see the descriptions for re g isters xr70 and xrcf for complete details. b1 e5 mclkin in hi g h iovcc & gnd optional primary input for an externally provided mclk (the refclk(mcklin) pin can be used as an alterrnate input for mclk). this pin is enabled via strappin g option and re g ister pro g rammin g . see the descriptions for re g - isters xr70 and xrcf for complete details. v1 n3 gpio0 (acti) i/o hi g h iovcc & gnd general purpose i/o pin #0. can also be used as the acti output (activity indicator). t4 p2 gpio1 (32khz) i/o hi g h iovcc & gnd general purpose i/o pin #1. can also be used as a 32khz clock input for panel power sequencin g . u16 p13 gpio4 i/o hi g h iovcc & gnd general purpose i/o pin #4. d6 a5 gpio7 i/o hi g h iovcc & gnd general purpose i/o pin #7. d17 a14 a12 b8 tmd0 tmd1 n/a n/a n/a n/a these two pins are for internal use only and should be left open. .com .com .com .com .com 4 .com u datasheet
pin descriptions 2-15 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 power and ground bga mbga pin pin pin name description u5 r3 dacvcc analo g power for the internal ramdac. dacvcc should be isolated from all other vccs, and should not be g reater than corvcc. y2 m5 dacgnd analo g g round for the internal ramdac. dacgnd should be common with di g ital g round but must be ti g htly coupled to dacvcc. b3 d4 a2 a2 c4 b4 d5 e6 a3 a3 b4 c5 mckvcc mckgnd dckvcc dckgnd analo g power and g round pins for the internal memory clock synthesizer (mclk). analo g power and g round pins for the internal dot clock synthesizer (dclk). mckvcc and dckvcc must be at the same volta g e level as corvcc. each of the mckvcc/mckgnd and dckvcc/dckgnd pairs must be individually decoupled. balls d5 and c4 (dckvcc) may be jumpered to g ether. balls b4 and a3 (dckgnd) may be jumpered to g ether refer to the section on clock g eneration for su gg ested clock power and g round pcb layout. d7 f6 g4 g6 p4 h6 u14 f7 u7 f8 j9 h8 j10 f9 j11 g9 j12 h9 k9 j9 k10 h10 k11 h11 k12 j11 l9 h12 l10 j12 l11 h13 l12 j13 h14 j14 k14 l15 gnd di g ital g round. d9 d8 w12 j7 c7 p8 corvcc di g ital power for the g raphics controller internal lo g ic (a.k.a., the core vcc). d14 j10 g17 d14 p17 e14 f14 g15 h15 j15 memgnd embedded memory g round. .com .com .com .com .com 4 .com u datasheet
2-16 pin descriptions &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 m9 p3 m10 m11 m12 y1 rgnd internal reference gnd, should be tied to gnd. h4 g7 n4 g8 u8 h7 u13 j8 w1 k8 k11 k12 k13 l11 l12 n9 l6 iovcc i/o power. d13 f10 h17 g10 n17 g11 g12 g13 g14 k15 l9 memvcc power for embedded memory. .com .com .com .com .com 4 .com u datasheet
pin descriptions 2-17 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 reserved and no connect bga mbga pin pin pin name a1 b1 b5 c2 c5 d3 d4 d8 y20 reserved a10 c8 a11 c13 a18 d13 b11 e13 b17 f13 c11 b14 c16 c14 c20 a15 d10 b15 d11 c15 d19 d15 d20 e15 e17 f15 e18 a16 e19 b16 e20 c16 f17 d16 f18 e16 f19 f16 f20 g16 g18 h16 g19 j16 g20 k16 h18 l16 h19 n16 h20 b2 j17 c4 j18 d5 j19 j20 k17 k18 k19 k20 l17 l18 m17 m18 m19 m20 n18 n19 n20 p18 p19 p20 r19 r20 t20 no connect .com .com .com .com .com 4 .com u datasheet
2-18 pin descriptions &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
electrical specifications 3-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 3 electrical specifications table 3-1: absolute maximum conditions note: permanent device damage may occur if absolute maximum rating are exceeded. operation must be restricted to the conditions under normal operating conditions. table 3-2: normal operating conditions table 3-3: dac characteristics note: these values apply under normal operating conditions unless otherwise noted. symbol parameter min max units v cc supply volta g e -0.5 5.0 v v i input volta g e -0.5 5.5 v t stg stora g e temperature -40 125 c symbol parameter min typical max units v cc supply volta g e 3.0 3.3 3.6 v t a ambient temperature 0 70 c symbol parameter notes min typical max units i o full scale output current r set =528 w and 37.5 w load C 18.6 C ma full scale error C C 5 % dac to dac correlation C 1.27 C % dac linearity 2 C C lsb .com .com .com .com .com 4 .com u datasheet
3-2 electrical specifications &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 3-4: dc characteristics . notes: these values apply under normal operating conditions unless otherwise noted. for power configuration data, please refer to an appropriate application note. table 3-5: dc drive characteristics note: these values apply under normal operating conditions unless otherwise noted. symbol parameter notes min max units p d power dissipation all vccs at 3.3v mclk=83mhz, dclk=135mhz C 1.0 w i il input leaka g e current C100 +100 a i oz output leaka g e current hi g h impedance C100 +100 a v il input low volta g e all input pins C0.5 0.8 v v ih input hi g h volta g e all input pins 0.6xvcc 5.5 v v ol output low volta g e under max load per table 16-5 (3.3v) C 0.5 v v oh output hi g h volta g e under max load per table 16-5 (3.3v) 0.7xvcc C v symbol parameter output pins dc test conditions min units i ol output low current h/vsync, p0-p35, shfclk, m v out v ol and v cc =3.3v 12 ma devsel#, par, perr#, serr#, stop#, trdy# acti, ad0-ad31, enabkl, enavdd, enavee, flm, lp 8 ma all other outputs 2 ma i oh output hi g h current h/vsync, p0-p35, shfclk, m v out 3 v ol and v cc =3.3v 12 ma devsel#, par, perr#, serr#, stop#, trdy# acti, ad0-ad31, enabkl, enavdd, enavee, flm, lp 8 ma all other outputs 2 ma .com .com .com .com .com 4 .com u datasheet
electrical specifications 3-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 3-6: ac test conditions: figure 3-1: ac test timing symbol parameter minimum maximum units v cc supply volta g e 3.1 3.6 v v test all ac parameters 0.4 v cc 1.5 v v il input low volta g e (10% of v cc ) 0.1 v cc 0.1 v cc v v ih input hi g h volta g e (90% of v cc ) v cc - 0.1 v cc - 0.1 v t r maximum input rise time (3.3/5v) 3 3 ns t f maximum input fall time (3.3/5v) 2 2 ns tester out p uts v il tester in p uts v test v cc v ih 0 v cc v ih v il 0 t f t r .com .com .com .com .com 4 .com u datasheet
3-4 electrical specifications &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 3-7: ac timing characteristics - reference clock figure 3-2: reference clock timing table 3-8: ac timing characteristics - clock generator symbol parameter notes min typical max units f ref reference frequency 1 14.31818 60 mhz t ref reference clock period 16.6 69.84128 1000 ns t hi /t ref reference clock duty cycle 40 C 60 % symbol parameter notes min typical max units f dclk dclk frequency C C 135 mhz f mclk mclk frequency C C 83 mhz reference clock input t hi t ref .com .com .com .com .com 4 .com u datasheet
electrical specifications 3-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 3-9: ac timing characteristics - reset note 1: this parameter includes time for internal voltage stabilization of all sections of the chip, startup and stabilization of the internal clock synthesizer, and setting of all internal logic to a known state. note 2: this parameter includes time for the internal clock synthesizer to reset to its default frequency and time to set all internal logic to a known state. it assumes power is stable and the internal clock synthesizer is already operating at some stable frequency. note 3: this parameter specifies the setup time to latch reliably the state of the configuration bits. changes in some configuration bits may take longer to stabilize inside the chip (such as internal clock synthesizer-related bits 4 and 5). the recommended configuration bit setup time is t res to insure that the chip is in a completely stable state when reset goes inactive. figure 3-3: reset timing symbol parameter notes min max units t ipr reset inactive from power stable see note 1 1 C ms t ors reset inactive from ext. osc. stable 0 C ms t res minimum reset pulse width see note 2 1 C ms t str reset inactive from standby inactive reset# is i g nored in standby mode 2 C ms t rsr reset rise time measured 0.1vcc to 0.9vcc C 20 ns t rso reset active to output float delay C 40 ns t csu confi g uration setup time see note 3 20 C ns t chd confi g uration hold time 5 C ns confi g uration inputs cfg0-15 t rsr t rsr t rso t chd t res stable t ors t ip r t str t csu t csu t chd stndby# 14 .31 8 m h z v cc reset# bus output pins initial power-u p reset reset with chi p o p eratin g and power stable .com .com .com .com .com 4 .com u datasheet
3-6 electrical specifications &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 3-10: ac timing characteristics - pci bus frame (clk=33mhz) figure 3-4: pci bus frame timing symbol parameter notes min max units t frs frame# setup to clk 7 C ns t cms c/be#[3:0] (bus cmd) setup to clk 7 C ns t cmh c/be#[3:0] (bus cmd) hold from clk 0 C ns t bes c/be#[3:0] (byte enable) setup to clk 7 C ns t beh c/be#[3:0] (byte enable) hold from clk 0 C ns t ads ad[31:0] (address) setup to clk 7 C ns t adh ad[31:0] (address) hold from clk 0 C ns t das ad[31:0] (data) setup to clk 7 C ns t dah ad[31:0] (data) hold from clk 0 C ns t dad ad[31:0] (data) valid from clk 2 11 ns t tzh trdy# hi g h z to hi g h from clk 2 11 ns t thl trdy# active from clk 2 11 ns t tlh trdy# inactive from clk 2 11 ns t thz trdy# hi g h before hi g h z 1 C clk t dzl devsel# active from clk 2 11 ns t dlh devsel# inactive from clk 2 11 ns t dhz devsel# hi g h before hi g h z 1 C clk t isc irdy# setup to clk 7 C ns t ihc irdy# hold from clk 0 C ns clk frame# c/be# [ 3:0 ] read ad [ 31:0 ] write ad [ 31:0 ] trdy# ird y# devsel# hi-z hi-z hi-z hi-z hi-z hi-z hi-z 1234 t frs t cms t cmh t bes t ads t adh t ads t adh bus turnaround bus turnaround bus turnaround t tzh t dzl read turnaround b y te e nables b y te e nables t beh t dad t das t dah t thl t tlh t thz t is c t ih c t dlh t dhz bus turnaround bus turnaround bus turnaround bus turnaround hi-z hi-z hi-z hi-z hi-z hi-z hi-z read data write data write data t dah address command address .com .com .com .com .com 4 .com u datasheet
electrical specifications 3-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 3-11: ac timing characteristics - pci bus stop (clk=33mhz) figure 3-5: pci bus stop timing symbol parameter notes min max units t szh stop# hi g h z to hi g h from clk 2 11 ns t shl stop# active from clk 2 11 ns t slh stop# inactive from clk 2 11 ns t shz stop# hi g h before hi g h z 1 C clk hi g h z clk stop# t szh t shl t slh t shz .com .com .com .com .com 4 .com u datasheet
3-8 electrical specifications &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 3-12: ac timing characteristics bios rom note: pci bios rom timing is derived from the 33 mhz pci bus clock. agp bios rom timing is derived from the 66 mhz agp bus clock. timing sequences are fixed assuming the use of widely-available, low-cost, typical industry-standard eproms. timing specifications and performance of bios rom memory accesses are non-critical since pci/agp bios rom data is always shadowed into high- speed system memory prior to execution of bios code. figure 3-6: bios rom timing pci: agp: symbol parameter min max min max units t roe romoe# active from clk C 40 C 20 ns t rom slowest permissible bios rom access speed C 150 C 75 ns clk frame# ad romoe# roma trdy# rom addr t roe b y te 0 add r b y te 1 add r b y te 2 add r b y te 3 add r data valid .com .com .com .com .com 4 .com u datasheet
electrical specifications 3-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 3-13: ac timing characteristics - video data port figure 3-7: video data port timing symbol parameter notes min max units t vps vp0 - vp15 (incomin g data) setup 5 C ns t vph vp0 - vp15 (incomin g data) hold 3 C ns t hrs href (incomin g hs) setup 5 C ns t hrh href (incomin g hs) hold in zv-port mode 3 C ns t vrs vref (incomin g vs) setup 5 C ns t vrh vref (incomin g vs) hold 3 C ns f vclk vclk frequency (t vclk is vclk period) 10 33 mhz vclk duty cycle 40 60 % vclk vp0 -vp15 href vref t vclk t vps t hrs t vrs t vph t hrh t vrh .com .com .com .com .com 4 .com u datasheet
3-10 electrical specifications &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 3-14: ac timing characteristics - panel output timing note: ac timing is valid when max output loading=25pf. figure 3-8: panel output timing symbol parameter signaling min max units t sclk shfclk cycle time 15 C ns t dovd de and p[35:0] output valid delay measured -3 4 ns t covd lp and flm output valid delay at 0.4v cc -3 3 ns shfclk duty cycle 40 60 % t slk t dovd t covd shfclk de, p[23..0] lp, flm .com .com .com .com .com 4 .com u datasheet
electrical specifications 3-11 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 3-15: ac timing characteristics - a.g.p. 1x ac timing parameters note: 1 - ac timing is valid when max output loading = 10 pf per the intel accelerated graphics port interface specification revision 2.0, however, actual test load capacitance may vary from the max output loading of 10 pf. symbol parameter output timing min max notes t dad ad[31:0] (data) valid from clk 1ns 6ns 1 t tzh trdy# hi g h z to hi g h from clk 1ns 6ns 1 t thl trdy# active from clk 1ns 5.5ns 1 t tlh trdy# inactive from clk 1ns 5.5ns 1 t thz trdy hi g h before hi g h z - 14ns t dzl devsel# active from clk 1ns 5.5ns 1 t dlh devsel# inactive from clk 1ns 5.5ns 1 t dhz devsel# hi g h before hi g h z - 14ns t szh stop# hi g h z to hi g h from clk 1ns 6ns 1 t shl stop# active from clk 1ns 5.5ns 1 t slh stop# inactive from clk 1ns 5.5ns 1 t shz stop# hi g h before hi g h z - 14ns address/read/write cycle input timing t ads address setup to clk 6ns - t adh address hold from clk 0ns - .com .com .com .com .com 4 .com u datasheet
3-12 electrical specifications &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
mechanical specifications 4-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 4 mechanical specifications figure 4-1: 256+16-contact ball grid array 1.27mm (0.0500") bsc 1.435mm (0.0565") 1.53mm (0.0602") max 27 0.1 mm (1.063 0.004") bottom view diameter: 0.760 0.16 (0.0299 0.0023) 256 +16 places 27 0.1 mm (1.063 0.004") y w v u t r p n m l k j h g f e d c b a 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1.27mm (0.0500") bsc 1.435mm (0.0565") 2.2mm max (0.087") 27 0.1 mm (1.063 0.004") top view 27 0.1 mm (1.063 0.004") 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 a b c d e f g h j k l m n p r t u v w y diameter: 0.760 0.16 (0.0299 0.0023) 256 +16 places .com .com .com .com .com 4 .com u datasheet
4-2 mechanical specifications &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 figure 4-2: 256 ball - mini ball grid array a b c d e f g h j k l m n p r t 17.00 +/- .20mm 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1.00 +/- 0.10mm 15.0 bsc 1.00 +/- 0.10mm 15.0 bsc 17.00 +/- .20mm 1.45 +/- .10mm 0.40 +/- .05mm .com .com .com .com .com 4 .com u datasheet
i/o and memory address maps 5-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 5 i/o and memory address maps an extensive set of registers normally controls the graphics system. these registers are a combination of registers defined by ibm when the video graphics array (vga) was first introduced, and others that have been added to support graphics modes that have color depths, resolutions, and hardware acceleration features that go well beyond the original vga standard. this chapter provides an overview of the address locations and sub-addressing mechanisms used to access the various registers and the frame buffer of this graphics controller. some of the registers are directly accessible at various i/o addresses. they may be read-only or write-only, and some must be read from and written to at different i/o addresses. most of the other registers are accessed through a sub-addressing arrangement. the index of the desired register is written to an index register, and then the desired register may be read from or written to through a data port. almost all of these sub-addressed registers are both readable and writable. still other registers are directly accessible at various memory addresses and here too, almost all of these registers are both readable and writable. vga-compatible address map part of the vga standard requires the vga graphics system to take the place of either the ibm monochrome display and printer adapter (either mdpa or mda) or the ibm color graphics adapter (cga). this was also the case with the ibm enhanced graphics adapter (ega), vgas predecessor. the mda has registers at i/o addresses 3b4-3b5 and 3ba, and a character buffer (not a frame buffer -- the mda is a text-only device) within the memory address range of b0000-b7fff. the cga has registers within i/o addresses 3d4-3d5 and 3da-3dc, and a frame buffer (for either text or graphics) within the memory address range of b8000-bffff. the vga standard introduced numerous modes with features that went beyond those originally provided by either mda or cga. to do this, the vga standard introduced many additional registers at locations in the 3c0-3cf i/o address range, and an additional frame buffer memory space in the a0000-affff memory address range through which the frame buffer could be accessed. this additional memory address region is a 64kb port-hole by which the standard 256kb vga frame buffer is accessed. either different 64kb portions of this frame buffer are swapped or paged in and out of this port-hole as a way of gaining access to all of it, or this frame buffer can be reorganized into planes that can be made selectively or even simultaneously accessible though this port-hole as part of a mechanism to enable bit-wise graphics color manipulation. this was done as part of the vga standard partly because of the shortage of available addresses in the first 1mb of memory address space in pc-standard systems. if a pc with a vga graphics system does not have either an mda display system or a cga graphics system, the vga bios will initialize the vga graphics system to take the place of either an mda if a monochrome display is attached to the vga, or of a cga if a color display is attached. however, if a pc with a vga graphics system also has an mda display system, the vga is initialized to take the place of a cga, regardless of the type of monitor attached to the vga in order to avoid conflicts with the mda. likewise, if a pc with a vga graphics system also has a cga graphics system, the vga is initialized to take the place of an mda, regardless of the type of monitor attached to the vga. the vga standard does not allow a system to have both an mda display system and a cga graphics system in the same pc along with a vga graphics system. .com .com .com .com .com 4 .com u datasheet
5-2 i/o and memory address maps &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 address maps for going beyond vga this graphics controller improves upon vga by providing additional features that are used through numerous additional registers. many of these additional registers are simply added to the sub-addressing schemes already defined in the vga standard, while others are added through sub-addressing schemes using additional i/o address locations 3d0-3d3 and 3d6-3d7. this graphics controller also provides for the memory-mapping of both the standard vga and these additional registers alongside i/o-mapping. all of the registers that are accessible via i/o addresses 3b0 through 3df are also accessible at offsets 400760 through 4007bf from the starting address of the upper memory space. still more of these additional registers are 32 bits wide and for performance reasons are accessible exclusively at other offsets from the starting address of the upper memory space. this graphics controller also supports 1 or more megabytes of frame buffer memory -- far larger than vgas standard complement of 256kb. as an improvement upon the vga standard frame buffer port-hole, this graphics controller also maps the entire frame buffer into part of a single contiguous memory space at a programmable location, providing what is called linear access to the frame buffer. the size of this memory space is 16mb (however, the frame buffer does not fill this entire memory space), and the base address is set through a pci configuration register. most aspects of the host interface of this graphics controller are configured through a set of built-in pci- compliant setup registers. the system logic accesses these registers through standard pci configuration read and write cycles. therefore, the exact location of the pci configuration registers for this graphics controller, as well as any other pci device in the system i/o or memory address space depends on the system logic design and the system software that configures the system. .com .com .com .com .com 4 .com u datasheet
i/o and memory address maps 5-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 pci configuration registers configuration space offset name function access bits 00 vendid vendor id read-only 16 02 devid device id read-only 16 04 devctl device control read/clear 16 06 devstat device status read-only 16 08 rev revision id read-only 8 09 prg pro g rammin g interface read-only 8 0a sub sub-class code read-only 8 0b base base class code read-only 8 0c reserved (cache line size) 8 0d reserved (latency timer) 8 0e reserved (header type) 8 0f reserved (built-in-self-test) 8 10 mbase memory base address read/write 32 14 reserved (base address) 32 18 reserved (base address) 32 1c reserved (base address) 32 20 reserved (base address) 32 24 reserved (base address) 32 28 reserved 32 2c subvendid subsystem vendor id read-only 16 2e subdevid subsystem device id read-only 16 30 rbase rom base address read/write 32 34 reserved 32 38 reserved 32 3c intline interrupt line read/write 8 3d intpin interrupt pin read-only 8 3e reserved (minimum grant) 8 3f reserved (maximum latency) 8 40 to 6b 6c subvendset subsystem vendor id set read/write 16 6e subdevset subsystem device id set read/write 16 6f to ff .com .com .com .com .com 4 .com u datasheet
5-4 i/o and memory address maps &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 i/o and sub-addressed register map i/o address memory offset read write 3b0-3b3 3b4 0x400768 crtc index (mda emulation) 3b5 0x400769 crtc data port (mda emulation) 3b6-3b9 3ba 0x400774 input status re g ister 1 (st01) (mda emulation) feature control re g ister (fcr) (mda emulation) 3bb-3bf 3c0 0x400780 attribute controller index attribute controller index and data port 3c1 0x400781 attribute controller data port alternate attribute controller data port 3c2 0x400784 input status re g ister 0 (st00) misc. output re g ister (msr) 3c3 3c4 0x400788 sequencer index 3c5 0x400789 sequencer data port 3c6 0x40078c color palette mask 3c7 0x40078d color palette state color palette read mode index 3c8 0x400790 color palette write mode index 3c9 0x400791 color palette data port 3ca 0x400794 feature control re g ister (fcr) 3cb 3cc 0x400798 misc. output re g ister (msr) 3cd 3ce 0x40079c graphics controller index 3cf 0x40079d graphics controller data port 3d0 0x4007a0 flat panel extensions index 3d1 0x4007a1 flat panel extensions data port 3d2 0x4007a4 multimedia extensions index 3d3 0x4007a5 multimedia extensions data port 3d4 0x4007a8 crtc index (cga emulation) 3d5 0x4007a9 crtc data port (cga emulation) 3d6 0x4007ac confi g uration extensions index 3d7 0x4007ad confi g uration extensions data port 3d8-3d9 3da 0x4007b4 input status re g ister 1 (st01) (cga emulation) feature control re g ister (fcr) (cga emulation) 3db-3df .com .com .com .com .com 4 .com u datasheet
i/o and memory address maps 5-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 sub-addressing indexes and data ports index port addresses data port addresses register group name function i/o 3c0 mem 0x400780 i/o 3c0/3c1 mem 0x400780/781 attribute controller ar0-14 vga attributes control i/o 3c4 mem 0x400788 i/o 3c5 mem 0x400789 sequencer sr0-7 vga sequencer control i/o 3ce mem 0x40079c i/o 3cf mem 0x40079d graphics controller gr0-8 vga data path control i/o 3d0 mem 0x4007a0 i/o 3d1 mem 0x4007a1 flat panel fr00-1f fr20-2f fr30-3f fr40-47 fr48-4f fr50-5f fr60-6f fr70-7f general panel control horizontal panel timin g vertical panel timin g horizontal compensation vertical compensation i/o 3d2 mem 0x4007a4 i/o 3d3 mem 0x4007a5 multimedia mr00-1f mr20-3f mr40-5f mr60-7f acquisition/capture playback window display color key i/o 3b4/3d4 mem 0x400768/7a8 i/o 3b5/3d5 mem 0x400769/7a9 crtc cr00-2f cr30-3f cr40-4f cr50-5f cr60-6f cr70-7f cr80-ff basic display control timin g extension bits address extension bits display overlay interlace control i/o 3d6 mem 0x4007ac i/o 3d7 mem 0x4007ad extension re g isters xr00-0f xr10-1f xr20-2f xr30-3f xr40-4f xr50-5f xr60-6f xr70-7f xr80-8f xr90-9f xra0-af xrb0-bf xrc0-cf xrd0-df xre0-ef xrf0-ff general confi g uration graphics en g ine confi g uration memory confi g uration pin control confi g uration pins pixel pipeline hardware cursor clock control power mana g ement software fla g s hardware testin g .com .com .com .com .com 4 .com u datasheet
5-6 i/o and memory address maps &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 lower memory map address range function size in bytes a0000-affff vga frame buffer 64kb b0000-b7fff mda emulation character buffer 32kb b8000-bffff cga emulation frame buffer 32kb c0000-c7fff or c0000 up to cffff vga bios rom 32kb or lar g er (up to 64kb) .com .com .com .com .com 4 .com u datasheet
i/o and memory address maps 5-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 upper memory map size memory offset function 2mb 0x000000 to 0x1fffff linear frame buffer (little-endian) 2mb 0x200000 to 0x3fffff 64 bytes 0x400000 to 0x40003f bitblt re g isters (little-endian) 1472 bytes 0x400040 to 0x4005ff 2kb 64 bytes 0x400600 to 0x40063f er re g isters (little-endian) 192 bytes 0x400640 to 0x4006ff 8mb 4mb 256 bytes 0x400700 to 0x4007ff vga and sub-addressed re g isters (little-endian) 62kb 0x400800 to 0x40ffff 16mb 64kb 0x410000 to 0x41ffff bitblt data port (little-endian) 3968kb 0x420000 to 0x7fffff 2mb 0x800000 to 0x9fffff linear frame buffer (bi g -endian) 2mb 0xa00000 to 0xbfffff 8mb 64kb 0xc00000 to 0xc0ffff 4mb 64kb 0xc10000 to 0xc1ffff bitblt data port (bi g -endian) 3968kb 0xc20000 to 0xffffff .com .com .com .com .com 4 .com u datasheet
5-8 i/o and memory address maps &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
register summaries 6-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 6 register summaries table 6-1 pci configuration registers table 6-2: general control & status registers configuration space offset name register function access bits 00 vendid vendor id re g ister read-only 16 02 devid device id re g ister read-only 16 04 devctl device control re g ister read/clear 16 06 devstat device status re g ister read-only 16 08 rev revision id re g ister read-only 8 09 prg pro g rammin g interface re g ister read-only 8 0a sub sub-class code re g ister read-only 8 0b base base class code re g ister read-only 8 0c reserved (cache line size) 8 0d reserved (latency timer) 8 0e reserved (header type) 8 0f reserved (built-in-self-test) 8 10 mbase memory base address re g ister read/write 32 14 reserved (base address) 32 18 reserved (base address) 32 1c reserved (base address) 32 20 reserved (base address) 32 24 reserved (base address) 32 28 reserved 32 2c subvendid subsystem vendor id re g ister read-only 16 2e subdevid subsystem device id re g ister read-only 16 30 rbase rom base address re g ister read/write 32 34 reserved 32 38 reserved 32 3c intline interrupt line re g ister read/write 8 3d intpin interrupt pin re g ister read-only 8 3e reserved (minimum grant) 8 3f reserved (maximum latency) 8 40 to 6b 6c subvendset subsystem vendor id set re g ister read/write 16 6e subdevset subsystem device id set re g ister read/write 16 6f to ff name register function read write st00 vga input status re g ister 0 3c2 st01 vga input status re g ister 1 3ba/3da fcr vga feature control re g ister 3ca 3ba/3da msr vga miscellaneous output re g ister 3cc 3c2 .com .com .com .com .com 4 .com u datasheet
6-2 register summaries &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 6-3: crt controller registers note: cr00-cr22 are standard vga registers -- all other cr registers are chips extensions. name register function access 3b5/3d5 index value 3b4/3d4 (crx) cr00 horizontal total re g ister read/write 00h cr01 horizontal display enable end re g ister read/write 01h cr02 horizontal blankin g start re g ister read/write 02h cr03 horizontal blankin g end re g ister read/write 03h cr04 horizontal sync start re g ister read/write 04h cr05 horizontal sync end re g ister read/write 05h cr06 vertical total re g ister read/write 06h cr07 overflow re g ister read/write 07h cr08 preset row scan re g ister read/write 08h cr09 maximum scanline re g ister read/write 09h cr0a text cursor start scanline re g ister read/write 0ah cr0b text cursor end scanline re g ister read/write 0bh cr0c start address hi g h re g ister read/write 0ch cr0d start address low re g ister read/write 0dh cr0e text cursor location hi g h re g ister read/write 0eh cr0f text cursor location low re g ister read/write 0fh cr10 vertical sync start re g ister read/write 10h cr11 vertical sync end re g ister read/write 11h cr12 vertical display enable end re g ister read/write 12h cr13 offset re g ister read/write 13h cr14 underline row re g ister read/write 14h cr15 vertical blankin g start re g ister read/write 15h cr16 vertical blankin g end re g ister read/write 16h cr17 crt mode control re g ister read/write 17h cr18 line compare re g ister read/write 18h cr22 memory read latch data re g ister read-only 22h cr30 extended vertical total re g ister read/write 30h cr31 extended vertical display end re g ister read/write 31h cr32 extended vertical sync start re g ister read/write 32h cr33 extended vertical blankin g start re g ister read/write 33h cr38 extended horizontal total re g ister read/write 38h cr3c extended horizontal blankin g end re g ister read/write 3ch cr40 extended start address re g ister read/write 40h cr41 extended offset re g ister read/write 41h cr70 interlace control re g ister read/write 70h cr71 ntsc/pal video output control re g ister read/write 71h cr72 ntsc/pal horizontal serration 1 start re g ister read/write 72h cr73 ntsc/pal horizontal serration 2 start re g ister read/write 73h cr74 ntsc/pal horizontal pulse width re g ister read/write 74h cr75 ntsc/pal filterin g burst read len g th re g ister read/write 75h cr76 ntsc/pal filterin g burst read quantity re g ister read/write 76h cr77 ntsc/pal filterin g control re g ister read/write 77h cr78 ntsc/pal vertical reduction re g ister read/write 78h cr79 ntsc/pal pixel resolution fine adjust re g ister read/write 79h .com .com .com .com .com 4 .com u datasheet
register summaries 6-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 6-4: sequencer registers table 6-5: graphics controller registers table 6-6: attribute controller registers table 6-7: palette registers name register function access (via 3c5) index value in 3c4 (srx) sr00 reset re g ister read/write 00 sr01 clockin g mode re g ister read/write 01 sr02 map mask re g ister read/write 02 sr03 character map select re g ister read/write 03 sr04 memory mode re g ister read/write 04 sr07 horizontal character counter reset re g ister read/write 07 name register function access (via 3cf) index value in 3ce (grx) gr00 set/reset re g ister read/write 00h gr01 enable set/reset re g ister read/write 01h gr02 color compare re g ister read/write 02h gr03 data rotate re g ister read/write 03h gr04 read map select re g ister read/write 04h gr05 graphics mode re g ister read/write 05h gr06 miscellaneous re g ister read/write 06h gr07 color dont care re g ister read/write 07h gr08 bit mask re g ister read/write 08h name register function access (via 3c0/3c1) index value in 3c0 (arx) ar00-ar0f color data re g isters read/write 00-0f ar10 mode control re g ister read/write 10 ar11 overscan color re g ister read/write 11 ar12 memory plane enable re g ister read/write 12 ar13 horizontal pixel pannin g re g ister read/write 13 ar14 color select re g ister read/write 14 name register function access (via 3c9) i/o address in 3c7/3c8 palmask palette mask re g ister read/write 3c6h palstate palette state re g ister read-only 3c7h palrx palette read index re g ister write-only 3c7h palwx palette write index re g ister read/write 3c8h paldata palette data re g ister read/write 3c9h .com .com .com .com .com 4 .com u datasheet
6-4 register summaries &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 6-8: extension registers name register function access (via 3d7) index value in 3d6 (xrx) xr00 vendor id low re g ister read-only 00h xr01 vendor id hi g h re g ister read-only 01h xr02 device id low re g ister read-only 02h xr03 device id hi g h re g ister read-only 03h xr04 revision id re g ister read-only 04h xr05 linear base address low re g ister read-only 05h xr06 linear base address hi g h re g ister read-only 06h xr08 host bus confi g uration re g ister read-only 08h xr09 i/o control re g ister read/write 09h xr0a frame buffer mappin g re g ister read/write 0ah xr0b pci burst write support re g ister read/write 0bh xr0e frame buffer pa g e select re g ister read/write 0eh xr20 bitblt confi g uration re g ister read/write 20h xr40 memory access control re g ister read/write 40h xr41-xr4f memory confi g uration re g isters read/write 41h-4fh xr60 video pin control re g ister read/write 60h xr61 dpms sync control re g ister read/write 61h xr62 gpio pin control re g ister read/write 62h xr63 gpio pin data re g ister read/write 63h xr67 pin tri-state control re g ister read/write 67h xr70 confi g uration pins 0 re g ister read-only 70h xr71 confi g uration pins 1 re g ister read-only 71h xr80 pixel pipeline confi g uration 0 re g ister read/write 80h xr81 pixel pipeline confi g uration 1 re g ister read/write 81h xr82 pixel pipeline confi g uration 2 re g ister read/write 82h .com .com .com .com .com 4 .com u datasheet
register summaries 6-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 6-8: extension registers (continued) name register function access via port 3d7 index value port 3d6 (xrx) xra0 cursor 1 control re g ister read/write a0h xra1 cursor 1 vertical extension re g ister read/write a1h xra2 cursor 1 base address low re g ister read/write a2h xra3 cursor 1 base address hi g h re g ister read/write a3h xra4 cursor 1 x-position low re g ister read/write a4h xra5 cursor 1 x-position hi g h re g ister read/write a5h xra6 cursor 1 y-position low re g ister read/write a6h xra7 cursor 1 y-position hi g h re g ister read/write a7h xra8 cursor 2 control re g ister read/write a8h xra9 cursor 2 vertical extension re g ister read/write a9h xraa cursor 2 base address low re g ister read/write aah xrab cursor 2 base address hi g h re g ister read/write abh xrac cursor 2 x-position low re g ister read/write ach xrad cursor 2 x-position hi g h re g ister read/write adh xrae cursor 2 y-position low re g ister read/write aeh xraf cursor 2 y-position hi g h re g ister read/write afh xrc0 dot clock 0 vco m-divisor low re g ister read/write c0h xrc1 dot clock 0 vco n-divisor low re g ister read/write c1h xrc2 dot clock 0 vco m/n-divisor hi g h re g ister read/write c2h xrc3 dot clock 0 divisor select re g ister read/write c3h xrc4 dot clock 1 vco m-divisor low re g ister read/write c4h xrc5 dot clock 1 vco n-divisor low re g ister read/write c5h xrc6 dot clock 1 vco m/n-divisor hi g h re g ister read/write c6h xrc7 dot clock 1 divisor select re g ister read/write c7h xrc8 dot clock 2 vco m-divisor low re g ister read/write c8h xrc9 dot clock 2 vco n-divisor low re g ister read/write c9h xrca dot clock 2 vco m/n-divisor hi g h re g ister read/write cah xrcb dot clock 2 divisor select re g ister read/write cbh xrcc memory clock vco m-divisor re g ister read/write cch xrcd memory clock vco n-divisor re g ister read/write cdh xrce memory clock vco divisor select re g ister read/write ceh xrcf clock confi g uration re g ister read/write cfh xrd0 powerdown control re g ister read/write d0h xrd1 power conservation control re g ister read/write d1h xrd2 2khz down counter re g ister read-only d2h xre0-xre9 software fla g re g isters read/write e0h-e9h xrf8-xrfc test re g isters read/write f8h-fch .com .com .com .com .com 4 .com u datasheet
6-6 register summaries &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 6-9: flat panel registers name register function access via port 3d1h index value port 3d0h fr00 feature re g ister read-only 00h fr01 crt / fp control re g ister read/write 01h fr02 fp mode control re g ister read/write 02h fr03 fp dot clock source re g ister read/write 03h fr04 panel power sequencin g delay re g ister read/write 04h fr05 power down control 1 re g ister read/write 05h fr06 fp power down control re g ister read/write 06h fr08 fp pin polarity re g ister read/write 08h fr0a pro g rammable output drive re g ister read/write 0ah fr0b fp pin control 1 re g ister read/write 0bh fr0c pin control 2 re g ister read/write 0ch fr0f activity timer control re g ister read/write 0fh fr10 fp format 0 re g ister read/write 10h fr11 fp format 1 re g ister read/write 11h fr12 fp format 2 re g ister read/write 12h fr13 fp format 3 re g ister read/write 13h fr16 frc option select re g ister read/write 16h fr17 polynomial frc control re g ister read/write 17h fr18 fp text mode control re g ister read/write 18h fr19 blink rate control re g ister read/write 19h fr1a stn-dd bufferin g control re g ister read/write 1ah fr1e m (acdclk) control re g ister read/write 1eh fr1f dia g nostic re g ister read/write 1fh fr20 fp horizontal panel display size lsb re g ister read/write 20h fr21 fp horizontal sync start lsb re g ister read/write 21h fr22 fp horizontal sync end re g ister read/write 22h fr23 fp horizontal total lsb re g ister read/write 23h fr24 fp hsync (lp) delay lsb re g ister read/write 24h fr25 fp horizontal overflow 1 re g ister read/write 25h fr26 fp horizontal overflow 2 re g ister read/write 26h fr27 fp hsync (lp) width and disable re g ister read/write 27h fr30 fp vertical panel size lsb re g ister read/write 30h fr31 fp vertical sync start lsb re g ister read/write 31h fr32 fp vertical sync end re g ister read/write 32h fr33 fp vertical total lsb re g ister read/write 33h fr34 fp vsync (flm) delay lsb re g ister read/write 34h fr35 fp vertical overflow 1 re g ister read/write 35h fr36 fp vertical overflow 2 re g ister read/write 36h fr37 fp vsync (flm) disable re g ister read/write 37h fr40 horizontal compensation re g ister read/write 40h fr41 horizontal stretchin g re g ister read/write 41h fr48 vertical compensation re g ister read/write 48h fr49-4c text mode vertical stretchin g 0 msb re g isters read/write 49h-4ch fr4d vertical line replication re g ister read/write 4dh fr4e selective vertical stretchin g disable re g ister read/write 4eh fr70 tmed red seed re g ister read/write 70h fr71 tmed green seed re g ister read/write 71h fr72 tmed blue seed re g ister read/write 72h fr73 tmed control re g ister read/write 73h fr74 tmed2 shift control re g ister read/write 74h .com .com .com .com .com 4 .com u datasheet
register summaries 6-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 6-10: multimedia registers name register function access via 3d3h index at 3d2h set to value mr00 module capability re g ister read-only 00h mr01 secondary capability re g ister read-only 01h mr02 capture control 1 re g ister read/write 02h mr03 capture control 2 re g ister read/write 03h mr04 capture control 3 re g ister read/write 04h mr05 capture control 4 re g ister read/write 05h mr06-08 capture memory address ptr1 re g ister read/write 06h - 08h mr09-0b capture memory address ptr2 re g ister read/write 09h - 0bh mr0c capture memory width (span) re g ister read/write 0ch mr0e capture window x-left low re g ister read/write 0eh mr0f capture window x-left hi g h re g ister read/write 0fh mr10 capture window x-right low re g ister read/write 10h mr11 capture window x-right hi g h re g ister read/write 11h mr12 capture window y-top low re g ister read/write 12h mr13 capture window y-top hi g h re g ister read/write 13h mr14 capture window y-bottom low re g ister read/write 14h mr15 capture window y-bottom hi g h re g ister read/write 15h mr16 h-scale re g ister read/write 16h mr17 v-scale re g ister read/write 17h mr18 capture frame count re g ister read/write 18h mr1e playback control 1 re g ister read/write 1eh mr1f playback control 2 re g ister read/write 1fh mr20 playback control 3 re g ister read/write 20h mr21 double buffer status re g ister read/write 21h mr22-24 playback memory address ptr1 re g ister read/write 22h - 24h mr25-27 playback memory address ptr2 re g ister read/write 25h - 27h mr28 playback memory line fetch width re g ister read/write 28h mr2a playback window x-left low re g ister read/write 2ah mr2b playback window x-left hi g h re g ister read/write 2bh mr2c playback window x-right low re g ister read/write 2ch mr2d playback window x-right hi g h re g ister read/write 2dh mr2e playback window y-top low re g ister read/write 2eh mr2f playback window y-top hi g h re g ister read/write 2fh mr30 playback window y-bottom low re g ister read/write 30h mr31 playback window y-bottom hi g h re g ister read/write 31h mr32 h-zoom re g ister read/write 32h mr33 v-zoom re g ister read/write 33h mr34 memory line out total re g ister read/write 34h mr3c color key control 1 re g ister read/write 3ch mr3d-3f color keys re g ister read/write 3dh - 3fh mr40-42 color key masks re g ister read/write 40h - 42h mr43 line count low re g ister read-only 43h mr44 line count hi g h re g ister read-only 44h .com .com .com .com .com 4 .com u datasheet
6-8 register summaries &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table 6-11: bitblt registers table 6-12: memory-mapped wide extension registers name function access offset br00 source and destination offset re g ister read/write 0x400000 br01 pattern/source expansion back g round color re g ister read/write 0x400004 br02 pattern/source expansion fore g round color re g ister read/write 0x400008 br03 monochrome source control re g ister read/write 0x40000c br04 bitblt control re g ister read/write 0x400010 br05 pattern address re g ister read/write 0x400014 br06 source address re g ister read/write 0x400018 br07 destination address re g ister read/write 0x40001c br08 destination width & hei g ht re g ister read/write 0x400020 br09 source expansion back g round color re g ister read/write 0x400024 br0a source expansion fore g round color re g ister read/write 0x400028 name function access offset er00 central interrupt control re g ister read/write 0x400100 er01 central interrupt status re g ister read/write 0x400104 er03 miscellaneous function re g ister read/write 0x40010c .com .com .com .com .com 4 .com u datasheet
pci configuration registers 7-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 7 pci configuration registers table 7-1 pci configuration registers note: the mechanism used to generate the pci configuration read and configuration write cycles by which these registers are accessed is system-dependent. configuration space offset name function access bits 00 vendid vendor id re g ister read-only 16 02 devid device id re g ister read-only 16 04 devctl device control re g ister read/clear 16 06 devstat device status re g ister read-only 16 08 rev revision id re g ister read-only 8 09 prg pro g rammin g interface re g ister read-only 8 0a sub sub-class code re g ister read-only 8 0b base base class code re g ister read-only 8 0c reserved (cache line size) 8 0d reserved (latency timer) 8 0e reserved (header type) 8 0f reserved (built-in-self-test) 8 10 mbase memory base address re g ister read/write 32 14 reserved (base address) 32 18 reserved (base address) 32 1c reserved (base address) 32 20 reserved (base address) 32 24 reserved (base address) 32 28 reserved 32 2c subvendid subsystem vendor id re g ister read-only 16 2e subdevid subsystem device id re g ister read-only 16 30 rbase rom base address re g ister read/write 32 34 reserved 32 38 reserved 32 3c intline interrupt line re g ister read/write 8 3d intpin interrupt pin re g ister read-only 8 3e reserved (minimum grant) 8 3f reserved (maximum latency) 8 40 to 6b 6c subvendset subsystem vendor id set re g ister read/write 16 6e subdevset subsystem device id set re g ister read/write 16 6f to ff .com .com .com .com .com 4 .com u datasheet
7-2 pci configuration registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 vendid vendor id register read-only at pci configuration offset 00h byte or word accessible accessible only via pci configuration cycles 15-0 vendor id this is the vendor id assigned to chips by the pci special interest group. this register always returns the 16-bit value 102ch (4140 decimal). devid device id register read-only at pci configuration offset 02h byte or word accessible accessible only via pci configuration cycles 15-0 device id this is the device id assigned to the 69000 by chips. this register always returns the 16-bit value 00c0h when read. 1514131211109876543210 vendor id (102ch) 1514131211109876543210 device id (00c0h) .com .com .com .com .com 4 .com u datasheet
pci configuration registers 7-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 devctl device control register read/write at pci configuration offset 04h byte or word accessible accessible only via pci configuration cycles 15-10 reserved each of these bits always return a value of 0 when read. 9 fast back-to-back enable for masters this bit applies only to pci bus masters. since this graphics controller never functions as a pci bus master, this bit always returns a value of 0 when read. 8 serr# enable 0: disables the use of serr# and the setting of bit 14 (signaled system error bit) in the device status register (devstat) to 1 as a response to an address parity error. this is the default after reset. 1: enables the use of serr# and the setting of bit 14 (signaled system error bit) in the device status register (devstat) to 1 as a response to an address parity error. 7wait c y cle control this bit controls enables and disables address stepping. since this graphics controller always supports address stepping, this bit always returns a value of 1 when read. 6parit y error response 0: disables the use of perr# as a response to detecting either data or address parity errors. disables the setting of bit 14 (signaled system error bit) in the device status register (devstat) to 1 as a response to an address parity error. this is the default after reset. 1: enables the use of perr# as a response to detecting either data or address parity errors. enables the setting of bit 14 (signaled system error bit) in the device status register (d evstat) to 1 as a response to an address parity error. note: bit 8 (serr# enable) of this register must also be set to 1 to enable the use of serr# and the setting of bit 14 (signaled system error bit) in the device status register (devstat) to 1 as a response to an address parity error. 1514131211109876543210 reserved (0000:00) fast bk-bk (0) serr enbl (0) wait cycl ctl (1) perr enbl (0) vga pal snoop (0) mem wrt / inval. (0) spec cycl (0) bus mstr (0) mem acc (0) i/o acc (0) .com .com .com .com .com 4 .com u datasheet
7-4 pci configuration registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 5 vga palette snoop 0: accesses to all vga i/o locations including those for the palette will be claimed. all read and write accesses to the palette will be performed normally. this is the default after reset. 1: accesses to all vga i/o locations, except for those for the palette, will be claimed. all reads will be entirely ignored, but all writes will still update the palette. this permits accesses to the palette i/ o addresses to be answered by other devices that need to be able to snoop accesses to the palette. 4 memory write & invalidate this bit applies only to pci bus masters. since this graphics controller never functions as a pci bus master, this bit always returns a value of 0 when read. 3 special cycles this graphics controller always ignores all special cycles, therefore this bit always returns the value of 0 when read. 2 bus master this graphics controller never functions as a pci bus master, therefore this bit always returns a value of 0 when read. 1 memory access enable 0: disables access to the frame buffer memory locations within the range specified by the mbase register. this is the default after reset. 1: enables access to the frame buffer memory locations within the range specified by the mbase register. note: accesses with only adjacent active byte enables are supported. 0 i/o access enable 0: disables i/o port accesses. this is the default after reset. 1: enables i/o port accesses. note: accesses with only adjacent active byte enables are supported. .com .com .com .com .com 4 .com u datasheet
pci configuration registers 7-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 devstat device status register read/write at pci configuration offset 06h byte or word accessible accessible only via pci configuration cycles important: read accesses to this register behave normally. writes, however, behave differently in that bits can be reset to 0, but not set to 1. a bit in this register is reset to 0 whenever it is written with the value of 1. bits written with a value of 0 are entirely unaffected. 15 detected parit y error 0: no address or data parity error detected. 1: an address or data parity error was detected. note: this bit is set in response to a parity error regardless of the settings of either bit 6 (parity error response bit) and 8 (serr# enable) of the device control register (devctl). 14 si g naled s y stem error 0: serr# has not been asserted. 1: serr# has been asserted. note: both bits 6 (parity error response bit) and 8 (serr# enable) of the device control register (devctl) must both be set to 1 to enable the use of serr# and the setting of this bit to 1 in response to an address parity error. 13 received master abort this bit applies only to pci bus masters. since the 69000 never functions as a pci bus master, this bit always returns a value of 0 when read. 12 received tar g et abort this bit applies only to pci bus masters. since the 69000 never functions as a pci bus master, this bit always returns a value of 0 when read. 11 si g naled tar g et abort 0: a target abort was not generated. 1: a target abort was generated. a target abort can be generated by the 69000 on i/o cycles with non-adjacent active byte enables. 1514131211109876543210 det parity error (0) signal system error (0) rcvd master abort (0) rcvd target abort (0) signal target abort (0) devsel# timing (01) data parity error (0) fast back- back (1) udf (0) 66 mhz (0) reserved (0:0000) .com .com .com .com .com 4 .com u datasheet
7-6 pci configuration registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 10-9 devsel# timing these two bits specify the longest-possible amount of time that the 69000 will take in decoding an address and asserting devsel#. these two bits always return a value of 01, indicating a medium- length timing. 8 data parity error detected this bit applies only to pci bus masters. since the 69000 never functions as a pci bus master, this bit always returns a value of 0 when read. 7 fast back-to-back capable this bit always returns a value of 1 when read, indicating that the 69000 is capable of fast back-to- back transactions that are not in the same segment. 6 udf supported this bit always returns a value of 0 when read, indicating that the 69000 does not provide features that are definable by the end-user. 5 66mhz capable this bit always returns a value of 0 when read, indicating that the 69000 can be used with pci at a bus speed of 33mhz, not 66mhz. this graphics controller is compatible with the agp bus as a device capable of frame-based agp transfers, only, but it is not compatible with pci-66 (the 66mhz version of pci first described in revision 2.1 of the pci specification from the pci sig), and the fact that this bit returns the value of 0 when read is intended to reflect this. the setting of this bit has no bearing on agp compatibility -- this bit is entirely ignored by agp device configuration firmware. 4-0 reserved each of these bits always return a value of 0 when read. .com .com .com .com .com 4 .com u datasheet
pci configuration registers 7-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 rev revision id register read-only at pci configuration offset 08h byte accessible accessible only via pci configuration cycles note: this register is identical to the revision id register (xr04). 7-4 chip manufacturin g code these four bits carry the fabrication code. 3-0 chip revision code these four bits carry the revision code. revision codes start at 0 and are incremented for each new silicon revision. prg register-level programming interface register read-only at pci configuration offset 09h byte accessible accessible only via pci configuration cycles 7-0 re g ister-level pro g rammin g interface this register always returns a value of 00h to identify this pci device as a display controller with a vga-compatible programming interface (as opposed to 01h, which would indicate a display controller with a 8514/a-compatible programming interface). 76543210 chip manufacturin g code (xxxx) chip revision code (xxxx) 76543210 re g ister-level pro g rammin g interface (00h) .com .com .com .com .com 4 .com u datasheet
7-8 pci configuration registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 sub sub-class code register read-only at pci configuration offset 0ah byte accessible accessible only via pci configuration cycles 7-0 sub-class code this register always returns a value of 00h to identify this pci device as a display controller of the vga or 8514/a type. base base class code register read-only at pci configuration offset 0bh byte accessible accessible only via pci configuration cycles 7-0 base class code this register always returns a value of 03h to identify this pci device as a display controller. 76543210 sub-class code (00h) 76543210 base class code (03h) .com .com .com .com .com 4 .com u datasheet
pci configuration registers 7-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 hdr header type register read-only at pci configuration offset 0eh byte accessible accessible only via pci configuration cycles 7sin g le/multiple function device this bit always returns a value of 0 when read, indicating that this pci device is a single-function device, not a multi-function device. 6-0 reserved each of these bits always return a value of 0 when read. 76543210 sin g le/multi function dev (0) reserved (000:0000) .com .com .com .com .com 4 .com u datasheet
7-10 pci configuration registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mbase memory base address register read/write at pci configuration offset 10h byte, word, or doubleword accessible accessible only via pci configuration cycles 31-24 memor y space base address these 8 bits select the base address for this 16mb memory space used by the 69000 for the memory mapped registers and linear accesses to the frame buffer. 23-4 memor y space size these 20 bits always return 0 to indicate that the size of this memory space is 16mb. 3 prefetchable this bit always returns a value of 0 when read, indicating that the data in this 16mb memory space should not be prefetched by the cpu. 2-1 memor y t y pe these 2 bits always return values of 0 when read, indicating that this 16mb memory space may be placed anywhere in the systems 32-bit address space by the systems pci configuration software. 0memor y /io space indicator this bit always returns a value of 0 when read, indicating that this is a memory space, not an i/o space. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 memory space base address (0000:0000) memory space size (0000:0000) 1514131211109876543210 memory space size (0000:0000:0000) pref. (0) memory type (00) m or i/o (0) .com .com .com .com .com 4 .com u datasheet
pci configuration registers 7-11 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 subvendid subsystem vendor id register read-only at pci configuration offset 2ch byte or word accessible accessible only via pci configuration cycles 15-0 subs y stem vendor id these bits are intended to carry the vendor id of the vendor of the subsystem in which this graphics controller is used, such as an add-in graphics card. after reset, this register defaults to 102ch, the vendor id assigned to chips by the pci special interest group. the vendor id of the actual subsystem vendor must be programmed into this graphics controller by writing it to the subvendset register in the pci configuration space at offset 6ch. subdevdid subsystem device id register read-only at pci configuration offset 2eh byte or word accessible accessible only via pci configuration cycles 15-0 subs y stem vendor id these bits are intended to carry the device id of the vendor of the subsystem in which this graphics controller is used, such as an add-in graphics card. after reset, this register defaults to 00c0h, the vendor id assigned to the 69000 by chips. the device id desired by actual subsystem vendor must be programmed into this graphics controller by writing it to the subdevset register in the pci configuration space at offset 6eh. 1514131211109876543210 subsystem vendor id (102ch) 1514131211109876543210 subsystem device id (00c0h) .com .com .com .com .com 4 .com u datasheet
7-12 pci configuration registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 intline interrupt line register read/write at pci configuration offset 3ch byte accessible accessible only via pci configuration cycles 7-0 interrupt line this register carries the level number of the interrupt line to which the interrupt output is routed by the host system. the graphics controller does not use the information in this register. the data is normally written to with the value determined by the host systems post code, and then later read by other software to find out which interrupt level on the host cpu should be hooked by interrupt software. intpin interrupt pin register read-only at pci configuration offset 3dh byte accessible accessible only via pci configuration cycles 7-0 sub-class code this register always returns a value of01h to indicate that the interrupt output should be connected to the inta# signal. 76543210 interrupt line (00h) 76543210 interrupt pin (01h) .com .com .com .com .com 4 .com u datasheet
pci configuration registers 7-13 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 rbase rom base address register read/write at pci configuration offset 30h byte, word, or doubleword accessible accessible only via pci configuration cycles 31-18 rom space base address these 14 bits select the base address for this 256kb rom space used by the 69000 for the video bios rom. 17-1 rom space size these 17 bits always return 0 to indicate that the size of this rom space is 256kb. 0 address decode enable 0: disable access to the video bios rom. this is the default after reset. 1: enable access to the video bios rom. note: bit 1 of the device control register (devctl) must also be set to 1 for the video bios rom to be accessible. also, the rom address space must not be programmed to a range that overlaps the area specified by the mbase register. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 rom space base address (0000:0000:0000:00) rom space size (00) 1514131211109876543210 rom space size (0000:0000:0000:000) addr enbl (0) .com .com .com .com .com 4 .com u datasheet
7-14 pci configuration registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 subvendset subsystem vendor id set register read/write at pci configuration offset 6ch byte or word accessible accessible only via pci configuration cycles 15-0 subs y stem vendor id set these bits are used to program the vendor id of the vendor of the subsystem in which this graphics controller is used, such as an add-in graphics card. after reset, this register defaults to 102ch, the vendor id assigned to chips by the pci special interest group. the vendor id of the actual subsystem vendor must be programmed into the graphics controller by writing it to this register. subdevset subsystem device id set read/write at pci configuration offset 6eh byte or word accessible accessible only via pci configuration cycles 15-0 subs y stem device id set these bits are intended to program the device id specified by the vendor of the subsystem in which this graphics controller is used, such as an add-in graphics card. after reset this register defaults to 00c0h, the device id assigned to this graphics controller by chips. the device id desired by the actual subsystem vendor must be programmed into this graphics controller by writing it to this register. 1514131211109876543210 subsystem vendor id set (102ch) 1514131211109876543210 subsystem device id set (00c0h) .com .com .com .com .com 4 .com u datasheet
general control and status registers 8-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 8 general control and status registers these are direct-access registers -- they are not read from or written to using any form of sub-indexing scheme. various bits in these registers have bits that provide control over the real-time status of the horizontal sync signal, the horizontal retrace interval, the vertical sync signal, and the vertical retrace interval. the horizontal retrace interval is the time when the drawing of each horizontal line has active video data, when the active video data is not being displayed. it is the time that includes the horizontal front and back porches, and the horizontal sync pulse. the horizontal retrace interval is always longer than the horizontal sync pulse. the vertical retrace interval is the period during the drawing of each screen, when the horizontal lines with active video data are not drawn. this period includes the vertical front and back porches, and the vertical sync pulse. the vertical retrace interval is always longer than the vertical sync pulse. the display enable status bit (bit 0) in input status register 1 indicates that either a horizontal retrace interval or a vertical retrace interval is in progress (the name display enable is misleading for this status bit because the bit does not enable nor disable the graphics system as its name suggests). in the ibm ? ega graphics system (and the ones that preceded it, including mda and cga) it was important to check the status of this bit to ensure that one or the other of the retrace intervals was taking place before accessing the graphics memory. in these earlier systems reading from or writing to graphics memory outside the retrace intervals meant that the crt controller would be cut off from accessing the graphics memory in order to draw pixels to the display, resulting in either snow or a flickering display. name function read write st00 input status re g ister 0 3c2 st01 input status re g ister 1 3ba/3da fcr feature control re g ister 3ca 3ba/3da msr miscellaneous output re g ister 3cc 3c2 .com .com .com .com .com 4 .com u datasheet
8-2 general control and status registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 st00 input status register 0 read-only at i/o address 3c2h 7 vertical retrace interrupt 0: indicates that a vertical retrace interrupt is not pending. 1: indicates that a vertical retrace interrupt is pending. note: this bit does not indicate the status of any real hardware interrupt occurring at the onset of vertical retrace. this bit works in conjunction with bit 3 of st01 and bits 4 and 5 of cr11 to implement a phantom interrupt for the sake of compatibility with older software. early vga graphics systems (and their predecessors, including the ega) had the ability to generate a hardware interrupt on irq9 whenever a vertical retrace commenced. this was done because in these earlier graphics systems it was important for the host cpu to wait for a vertical retrace interval before accessing the frame buffer. if the host cpu accessed the frame buffer at a time other than the vertical retrace interval, i.e., while data for the active display area was being drawn to the display, then either snow on the display or a flickering display would result. later graphics systems, including this one, do not actually generate this interrupt. 6-5 reserved these bits return the value of 0 when read. 4 dac crt sense indicates the state of the dac analog output comparators. the comparators can be used to determine whether a crt is currently attached, and/or whether the crt is color or monochrome. this is done by blanking the crt outputs, which causes the color value stored at index 0 in the color lookup table of the ramdac to be continuously output to the crt. different color values can then be written to the color lookup table at index 0 to set different output levels for the red, green and blue d-to-a converters. 3-0 reserved these bits return the value of 0 when read. 76543210 vert ret interrupt reserved dac crt sense reserved result when testing for presence of crt when testing for color or monochrome crt 0 no crt is present. monochrome crt. 1 crt is present. color crt. .com .com .com .com .com 4 .com u datasheet
general control and status registers 8-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 st01 input status register 1 read-only at i/o address 3bah/3dah 7 vsync output 0: the vsync output pin is currently inactive. 1: the vsync output pin is currently active. note: this bit is largely unused by current software. 6 reserved this bit returns the value of 0 when read. 5-4 video feedback 1, 0 these are diagnostic video bits that are programmably connected to two of the eight color bits sent to the palette. bits 4 and 5 of the color plane enable register (ar12) select which two of the eight possible color bits become connected to these 2 bits of this register. the current software normally does not use these 2 bits. they exist for ega compatibility. 3 vertical retrace 0: indicates that a vertical retrace interval is not taking place. 1: indicates that a vertical retrace interval is taking place. 2-1 reserved these bits return the value of 0 when read. 0displa y enable 0: data for the active display area is being drawn to the display. neither a horizontal retrace interval nor a vertical retrace interval is currently taking place. 1: either a horizontal or vertical retrace interval is currently taking place. 76543210 vsync output reserved video feedback 1,0 vertical retrace reserved display enable .com .com .com .com .com 4 .com u datasheet
8-4 general control and status registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fcr feature control register write at i/o address 3bah/3dah read at i/o address 3cah 7-4 reserved these bits return the value of 0 when read. 3 vsync control 0: vsync output pin simply provides the vertical sync signal. 1: vsync output pin provides a signal that is the logical or of the vertical sync signal and the value of bit 0 of input status register 1 (st01). note: this feature is largely unused by current software -- this bit is provided solely for vga compatibility. 2-0 reserved these bits return the value of 0 when read. 76543210 reserved vsync control reserved .com .com .com .com .com 4 .com u datasheet
general control and status registers 8-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 msr miscellaneous output register write at i/o address 3c2h read at i/o address 3cch 7-6 s y nc output polarit y bit 7 controls the polarity of the vsync output, while bit 6 performs the same function for the hsync output. for both of these bits, a value of 0 sets the corresponding sync output for positive polarity, while a value of 1 chooses negative polarity. the original vga standard was created at a time pre-dating the onset of multifrequency displays that examined clock rates or counted pulses to determine resolutions. therefore, different combinations of positive and negative polarities on the sync outputs were used to set original vga displays to any one of three modes (depicted in the table below). however, over time, numerous additional resolutions and alternate timings intended to improve upon the original vga standard came to be widely used. in order to maintain compatibility with the vga standard, the vast majority of these use hsync and vsync outputs that are both configured to be of positive polarity since this was the only choice left over as reserved in the original vga standard. 5odd/even pa g e select 0: selects the lower 64kb page. 1: selects the upper 64kb page. selects between two 64kb pages of frame buffer memory during standard vga odd/even modes (modes 0h through 5h). bit 1 of register gr06 can also program this bit in other modes. 4 reserved this bit returns the value of 0 when read. 76543210 sync output polarity (00) pa g e select (0) reserved (0) clock select (00) ram enable (0) i/o address (0) bit 7 6 vsync output polarity hsync output polarity vertical resolution selected 0 0 positive positive not used for standard vga modes. often used for extended modes re g ardless of the number of scanlines. 0 1 positive ne g ative for standard vga modes with 400 scanlines. 1 0 ne g ative positive for standard vga modes with 350 scanlines. 1 1 ne g ative ne g ative for standard vga modes with 480 scanlines. .com .com .com .com .com 4 .com u datasheet
8-6 general control and status registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 3-2 clock select these two bits select the dot clock. 1 ram access enable 0: disables cpu access to frame buffer. 1: enables cpu access to frame buffer. 0 i/o address select 0: sets the i/o address decode for st01, fcr, and all cr registers to the 3bx i/o address range (for mdpa emulation). 1: sets the i/o address decode for st01, fcr, and all cr registers to the 3dx i/o address range (for cga emulation). bit 3 2 selected clock 0 0 clk0 -- default 25mhz (for standard vga modes with a horizontal resolution of 320 or 640 pixels. 0 1 clk1 -- default 28mhz (for standard vga modes with a horizontal resolution of 360 or 720 pixels. 1 0 clk2 (normally for all extended modes or at any time a flat panel display is used) (this selection was reserved in the ori g inal vga standard) 1 1 reserved .com .com .com .com .com 4 .com u datasheet
sequencer registers 10-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 10 sequencer registers the sequencer registers are accessed by writing the index of the desired register into the vga sequencer index register (srx) at i/o address 3c4, and then accessing the desired register through the data port for the sequencer registers at i/o address 3c5. name function access (via 3c5) index value in 3c4 (srx) sr00 reset re g ister read/write 00 sr01 clockin g mode re g ister read/write 01 sr02 plane mask re g ister read/write 02 sr03 character map select re g ister read/write 03 sr04 memory mode re g ister read/write 04 sr07 horizontal character counter reset re g ister read/write 07 .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 9 crt controller registers name register function access 3b5/3d5 index value 3b4/3d4 (crx) cr00 horizontal total re g ister read/write 00h cr01 horizontal display enable end re g ister read/write 01h cr02 horizontal blankin g start re g ister read/write 02h cr03 horizontal blankin g end re g ister read/write 03h cr04 horizontal sync start re g ister read/write 04h cr05 horizontal sync end re g ister read/write 05h cr06 vertical total re g ister read/write 06h cr07 overflow re g ister read/write 07h cr08 preset row scan re g ister read/write 08h cr09 maximum scanline re g ister read/write 09h cr0a text cursor start scanline re g ister read/write 0ah cr0b text cursor end scanline re g ister read/write 0bh cr0c start address hi g h re g ister read/write 0ch cr0d start address low re g ister read/write 0dh cr0e text cursor location hi g h re g ister read/write 0eh cr0f text cursor location low re g ister read/write 0fh cr10 vertical sync start re g ister read/write 10h cr11 vertical sync end re g ister read/write 11h cr12 vertical display enable end re g ister read/write 12h cr13 offset re g ister read/write 13h cr14 underline row re g ister read/write 14h cr15 vertical blankin g start re g ister read/write 15h cr16 vertical blankin g end re g ister read/write 16h cr17 crt mode control re g ister read/write 17h cr18 line compare re g ister read/write 18h cr22 memory read latch data re g ister read-only 22h cr30 extended vertical total re g ister read/write 30h cr31 extended vertical display end re g ister read/write 31h cr32 extended vertical sync start re g ister read/write 32h cr33 extended vertical blankin g start re g ister read/write 33h cr38 extended horizontal total re g ister read/write 38h cr3c extended horizontal blankin g end re g ister read/write 3ch cr40 extended start address re g ister read/write 40h cr41 extended offset re g ister read/write 41h cr70 interlace control re g ister read/write 70h cr71 ntsc/pal video output control re g ister read/write 71h cr72 ntsc/pal horizontal serration 1 start re g ister read/write 72h cr73 ntsc/pal horizontal serration 2 start re g ister read/write 73h cr74 ntsc/pal horizontal pulse width re g ister read/write 74h cr75 ntsc/pal filterin g burst read len g th re g ister read/write 75h cr76 ntsc/pal filterin g burst read quantity re g ister read/write 76h cr77 ntsc/pal filterin g control re g ister read/write 77h cr78 ntsc/pal vertical reduction re g ister read/write 78h cr79 ntsc/pal pixel resolution fine adjust re g ister read/write 79h .com .com .com .com .com 4 .com u datasheet
9-2 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 the crt controller registers are accessed by writing the index of the desired register into the crt controller index register at i/o address 3b4h or 3d4h (depending upon whether the graphics system is configured for mda or cga emulation), and then accessing the desired register through the data port for the crt controller registers located at i/o address 3b5h or 3d5h (again depending upon the choice of mda or cga emulation). crx crt controller index register read/write at i/o address 3b4h/3d4h this register is cleared to 00h by reset. 7-0 crt controller re g ister inde x these 8 bits are used to select any one of the crt controller registers to be accessed via the data port at i/o location 3b5h or 3d5h (depending upon whether the graphics system is configured for mda or cga emulation). 76543210 crt controller re g ister index .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr00 horizontal total register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 00h 7-0 horizontal total these bits provide either all 8 bits of an 8-bit value or the least significant 8 bits of a 9-bit value that specifies the total length of a scanline. this includes both the part of the scanline that is within the active display area and the part that is outside of it. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the horizontal total is specified with an 8-bit value, 8 bits of which are supplied by this register. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the horizontal total is specified with a 9-bit value. the 8 least significant bits of the vertical total are supplied by the 8 bits of this register. the most significant bit is supplied by bit 0 of the extended horizontal total register (cr38). this 8-bit or 9-bit value should be programmed to equal the total number of character clocks within the total length of a scanline, minus 5. note: for ntsc/pal output support, cr79 can be used to add a programmable number of pixel clocks (as opposed to character clocks) to the horizontal total, permitting the horizontal total to be specified with greater precision. cr01 horizontal display enable end register read/write at i/o address 3b5h/3d5h with index at 3b4h/3d4h set to 01h 7-0 horizontal displa y enable end this register is used to specify the end of the part of the scanline that is within the active display area relative to its beginning. in other words, this is the horizontal width of the active display area. this register should be programmed with a value equal to the number of character clocks that occur within the part of a scanline that is within the active display area minus 1. cr02 horizontal blanking start register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 02h 7-0 horizontal blankin g start this register is used to specify the beginning of the horizontal blanking period relative to the beginning of the active display area of a scanline. this register should be programmed with a value equal to the number of character clocks that occur on a scanline from the beginning of the active display area to the beginning of the horizontal blanking. 76543210 horizontal total 76543210 horizontal display enable end 76543210 horizontal blankin g start .com .com .com .com .com 4 .com u datasheet
9-4 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr03 horizontal blanking end register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 03h 7 reserved values written to this bit are ignored. to maintain consistency with the vga standard, a value of 1 is returned whenever this bit is read. at one time, this bit was used to enable access to certain light pen registers. at that time, setting this bit to 0 provided this access, but setting this bit to 1 was necessary for normal operation. 6-5 displa y enable skew control defines the degree to which the start and end of the active display area are delayed along the length of a scanline to compensate for internal pipeline delays. these 2 bits describe the delay in terms of a number character clocks. 4-0 horizontal blankin g end bits 4-0 these 5 bits provide the 5 least significant bits of either a 6-bit or 8-bit value that specifies the end of the blanking period relative to its beginning on a single scanline. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the horizontal blanking end is specified with a 6-bit value. the 5 least significant bits of the horizontal blanking end are supplied by these 5 bits of this register, and the most significant bits is supplied by bit 7 of the horizontal sync end register (cr05). in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the horizontal blanking end is specified with an 8-bit value. the 5 least significant bits of the horizontal blanking end are supplied by these 5 bits of this register, the next most significant bit is supplied by bit 7 of the horizontal sync end register (cr05), and the 2 most significant bits are supplied by bits 7 and 6 of the extended horizontal blanking end register (cr3c). this 6-bit or 8-bit value should be programmed to be equal to the least significant 6 or 8 bits, respectively, of the result of adding the length of the blanking period in terms of character clocks to the value specified in the horizontal blanking start register (cr02). 76543210 reserved display enable skew control horizontal blankin g end bits 4-0 bit 6 5 amount of delay 0 0 no delay 0 1 delayed by 1 character clock 1 0 delayed by 2 character clocks 1 1 delayed by 3 character clocks .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr04 horizontal sync start register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 04h 7-0 horizontal s y nc start this register is used to specify the beginning of the horizontal sync pulse relative to the beginning of the active display area on a scanline. this register should be set to be equal to the number of character clocks that occur from the beginning of the active display area to the beginning of the horizontal sync pulse on a single scanline. 76543210 horizontal sync start .com .com .com .com .com 4 .com u datasheet
9-6 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr05 horizontal sync end register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 05h 7 horizontal blankin g end bit 5 this bit provides either the most significant bit of a 6-bit value or the 3rd most significant bit of an 8- bit value that specifies the end of the horizontal blanking period relative to its beginning. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the horizontal blanking end is specified with a 6-bit value. the 5 least significant bits of this value are supplied by bits 4-0 of the horizontal blanking end register (cr03), and the most significant bit is supplied by this bit of this register. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the horizontal blanking end is specified with an 8-bit value. the 5 least significant bits of this value are supplied by bits 4- 0 of the horizontal blanking end register (cr03), the next most significant bit is supplied by this bit of this register, and the 2 most significant bits are supplied by bits 7 and 6 of the extended horizontal blanking end register (cr3c). this 6-bit or 8-bit value should be programmed to be equal to the least significant 6 or 8 bits, respectively, of the result of adding the length of the blanking period in terms of character clocks to the value specified in the horizontal blanking start register (cr02). 6-5 horizontal s y nc dela y these bits define the degree to which the start and end of the horizontal sync pulse are delayed to compensate for internal pipeline delays. these 2 bits describe the delay in terms of a number of character clocks. 4-0 horizontal s y nc end these 5 bits provide the 5 least significant bits of a 6-bit value that specifies the end of the horizontal sync pulse relative to its beginning. in other words, this 6-bit value specifies the width of the horizontal sync pulse. bit 7 of horizontal sync end register (cr05) supplies the most significant bit. this 6-bit value should be set to the least significant 6 bits of the result of adding the width of the sync pulse in terms of character clocks to the value specified in the horizontal sync start register (cr04). 76543210 hor blnk end bit 5 horizontal sync delay horizontal sync end bit 6 5 amount of delay 0 0 no delay 0 1 delayed by 1 character clock 1 0 delayed by 2 character clocks 1 1 delayed by 3 character clocks .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr06 vertical total register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 06h 7-0 vertical total bits these bits provide the 8 least significant bits of either a 10-bit or 12-bit value that specifies the total number of scanlines. this includes the scanlines both inside and outside of the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical total is specified with a 10-bit value. the 8 least significant bits of the vertical total are supplied by these 8 bits of this register, and the 2 most significant bits are supplied by bits 5 and 0 of the overflow register (cr07). in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical total is specified with a 12-bit value. the 8 least significant bits of the vertical total are supplied by the 8 bits of this register (cr06). the 4 most significant bits are supplied by bits 3-0 of the extended vertical total register (cr30). this 10-bit or 12-bit value should be programmed to equal the total number of scanlines minus 2. 76543210 vertical total bits 7-0 .com .com .com .com .com 4 .com u datasheet
9-8 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr07 overflow register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 07h 7vertical s y nc start bit 9 the vertical sync start is a 10-bit or 12-bit value that specifies the beginning of the vertical sync pulse relative to the beginning of the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical sync start is specified with a 10-bit value. the 8 least significant bits of the vertical sync start are supplied by bits 7-0 of the vertical sync start register (cr10), and the most and second-most significant bits are supplied by bit 7 and bit 2 of this register (cr07), respectively. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical display end is specified with a 12-bit value. the 8 least significant bits of the vertical display end are supplied by bits 7-0 of the vertical sync start register (cr10), and the 4 most significant bits are supplied by bits 3-0 of the extended vertical sync start register (cr32) register. in extended modes, neither bit 7 nor bit 2 of this register are used. this 10-bit or 12-bit value should be programmed to be equal to the number of scanlines from the beginning of the active display area to the start of the vertical sync pulse. since the active display area always starts on the 0th scanline, this number should be equal to the number of the scanline on which the vertical sync pulse begins. 6 vertical displa y enable end bit 9 the vertical display enable end is a 10-bit or 12-bit value that specifies the number of the last scanline within the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical display enable end is specified with a 10-bit value. the 8 least significant bits of the vertical display enable are supplied by bits 7-0 of the vertical display enable end register (cr12), and the most and second-most significant bits are supplied by bit 6 and bit 1 of this register (cr07), respectively. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical display enable end is specified with a 12-bit value. the 8 least significant bits of the vertical display enable are supplied by bits 7-0 of the vertical display enable end register (cr12), and the 4 most significant bits are supplied by bits 3-0 of the extended vertical display end enable register (cr31). in extended modes, neither bit 6 nor bit 1 of this register are used. this 10-bit or 12-bit value should be programmed to be equal to the number of the last scanline within in the active display area. since the active display area always starts on the 0th scanline, this number should be equal to the total number of scanlines within the active display area minus 1. 76543210 vert sync start bit 9 vert disp en bit 9 vert total bit 9 line cmp bit 8 vert blnk start bit 8 vert sync start bit 8 vert disp en bit 8 vert total bit 8 .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 5 vertical total bit 9 the vertical total is a 10-bit or 12-bit value that specifies the total number of scanlines. this includes the scanlines both inside and outside of the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical total is specified with a 10-bit value. the 8 least significant bits of the vertical total are supplied by bits 7-0 of the vertical total register (cr06), and the most and second-most significant bits are supplied by bit 5 and bit 0 of this register (cr07), respectively. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical total is specified with a 12-bit value. the 8 least significant bits of the vertical total are supplied by bits 7- 0 of the vertical total register (cr06), and the 4 most significant bits are supplied by 3-0 bits of the extended vertical total register (cr30). in extended modes, neither bit 5 nor bit 0 of this register are used. this 10-bit or 12-bit value should be programmed to be equal to the total number of scanlines minus 2. 4 line compare bit 8 this bit provides the second most significant bit of a 10-bit value that specifies the scanline at which the memory address counter restarts at the value of 0. bit 6 of the maximum scanline register (cr09) supplies the most significant bit, and bits 7-0 of the line compare register (cr18) supply the 8 least significant bits. normally, this 10-bit value is set to specify a scanline after the last scanline of the active display area. when this 10-bit value is set to specify a scanline within the active display area, it causes that scanline and all subsequent scanlines in the active display area to display video data starting at the very first byte of the frame buffer. the result is what appears to be a screen split into a top and bottom part, with the image in the top part being repeated in the bottom part. when used in cooperation with the start address high register (cr0c) and the start address low register (cr0d), it is possible to create a split display, as described earlier, but with the top and bottom parts displaying different data. the top part will display whatever data exists in the frame buffer starting at the address specified in the two start address registers (cr0c and cr0d), while the bottom part will display whatever data exists in the frame buffer starting at the first byte of the frame buffer. .com .com .com .com .com 4 .com u datasheet
9-10 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 3 vertical blanking start bit 8 the vertical blanking start is a 10-bit or 12-bit value that specifies the beginning of the vertical blanking period relative to the beginning of the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical blanking start is specified with a 10-bit value. the 8 least significant bits of the vertical blanking start are supplied by bits 7-0 of the vertical blanking start register (cr15), and the most and second- most significant bits are supplied by bit 5 of the maximum scanline register (cr09) and bit 3 of this register (cr07), respectively. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical blanking start is specified with a 12-bit value. the 8 least significant bits of the vertical blanking start are supplied by bits 7-0 of the vertical blanking start register (cr15), and the 4 most significant bits are supplied by bits 3-0 of the extended vertical blanking start register (cr33). in extended modes, neither bit 3 of cr07 nor bit 5 of the maximum scanline register (cr09) are used. this 10-bit or 12-bit value should be programmed to be equal to the number of scanlines from the beginning of the active display area to the beginning of the blanking period. since the active display area always starts on the 0th scanline, this number should be equal to the number of the scanline on which the vertical blanking period begins. 2 vertical sync start bit 8 the vertical sync start is a 10-bit or 12-bit value that specifies the beginning of the vertical sync pulse relative to the beginning of the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical sync start is specified with a 10-bit value. the 8 least significant bits of the vertical sync start are supplied by bits 7-0 of the vertical sync start register (cr10), and the most and second-most significant bits are supplied by bit 7 and bit 2 of this register (cr07), respectively. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical display end is specified with a 12-bit value. the 8 least significant bits of the vertical display are supplied by bits 7-0 of the vertical sync start register (cr10), and the 4 most significant bits are supplied by bits 3-0 of the extended vertical sync start register (cr32) register. in extended modes, neither bit 7 nor bit 2 of this register (cr07) are used. this 10-bit or 12-bit value should be programmed to be equal to the number of scanlines from the beginning of the active display area to the start of the vertical sync pulse. since the active display area always starts on the 0th scanline, this number should be equal to the number of the scanline on which the vertical sync pulse begins. .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-11 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 1 vertical display enable end bit 8 the vertical display enable end is a 10-bit or 12-bit value that specifies the number of the last scanline within the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical display enable end is specified with a 10-bit value. the 8 least significant bits of the vertical display enable are supplied by bits 7-0 of the vertical display enable end register (cr12), and the most and second-most significant bits are supplied by bit 6 and bit 1 of this register (cr07), respectively. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical display enable end is specified with a 12-bit value. the 8 least significant bits of the vertical display enable are supplied by bits 7-0 of the vertical display enable end register (cr12), and the 4 most significant bits are supplied by bits 3-0 of the extended vertical display end enable register (cr31). in extended modes, neither bit 6 nor bit 1 of this register (cr07) are used. this 10-bit or 12-bit value should be programmed to be equal to the number of the last scanline within in the active display area. since the active display area always starts on the 0th scanline, this number should be equal to the total number of scanlines within the active display area minus 1. 0 vertical total bit 8 the vertical total is a 10-bit or 12-bit value that specifies the total number of scanlines. this includes the scanlines both inside and outside of the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical total is specified with a 10-bit value. the 8 least significant bits of the vertical total are supplied by bits 7-0 of the vertical total register (cr06), and the most and second-most significant bits are supplied by bit 5 and bit 0 of this register (cr07), respectively. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical total is specified with a 12-bit value. the 8 least significant bits of the vertical total are supplied by bits 7- 0 of the vertical total register (cr06), and the 4 most significant bits are supplied by 3-0 bits of the extended vertical total register (cr30). in extended modes, neither bit 5 nor bit 0 of this register (cr07) are used. this 10-bit or 12-bit value should be programmed to be equal to the total number of scanlines minus 2. .com .com .com .com .com 4 .com u datasheet
9-12 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr08 preset row scan register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 08h 7 reserved 6-5 leftward horizontal pixel shift bits 6 and 5 of this register hold a 2-bit value that selects number of bytes (up to 3) by which the image is shifted horizontally to the left on the screen. this function is available in both text and graphics modes. in text modes with a 9-pixel wide character box, the image can be shifted up to 27 pixels to the left, in increments of 9 pixels. in text modes with an 8-pixel wide character box, and in all standard vga graphics modes, the image can be shifted up to 24 pixels to the left in increments of 8 pixels. the image can be shifted still further, in increments of individual pixels, through the use of bits 3-0 of the horizontal pixel panning register (ar13). note: in the vga standard this is called the byte panning bit. 4-0 startin g row scan count these 5 bits specify which horizontal line of pixels within the character boxes of the characters used on the top-most row of text on the display will be used as the top-most scanline. the horizontal lines of pixels of a character box are numbered from top to bottom, with the top-most line of pixels being number 0. if a horizontal line of these character boxes other than the top-most line is specified, then the horizontal lines of the character box above the specified line of the character box will not be displayed as part of the top-most row of text characters on the display. normally the value specified by these 5 bits should be 0, so that all of the horizontal lines of pixels within these character boxes will be displayed in the top-most row of text, ensuring that the characters in the top-most row of text do not look as though they have been cut off at the top. 76543210 reserved left hor pixel shift startin g row scan count number of pixels shifted bit 6 5 9-pixel text 8-pixel text & graphics 0 0 0 0 0 1 9 8 1 0 18 16 1 1 27 24 .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-13 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr09 maximum scanline register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 09h 7 double scannin g 0: disables double scanning. the clock to the row scan counter is equal to the horizontal scan rate. this is the normal setting for many of the standard vga modes and all of the extended modes. 1: enables double scanning. the clock to the row scan counter is divided by 2. this is normally used to allow cga-compatible modes that have only 200 scanlines of active video data to be displayed as 400 scanlines (each scanline is displayed twice). 6 line compare bit 9 this bit provides the most significant bit of a 10-bit value that specifies the scanline at which the memory address counter restarts at the value of 0. bit 4 of the overflow register (cr07) supplies the second most significant bit and bits 7-0 of the line compare register (cr18) supply the 8 least significant bits. normally, this 10-bit value is set to specify a scanline after the last scanline of the active display area. when this 10-bit value is set to specify a scanline within the active display area, it causes that scanline and all subsequent scanlines in the active display area to display video data starting at the very first byte of the frame buffer. the result is what appears to be a screen split into a top and bottom part, with the image in the top part being repeated in the bottom part. when used in cooperation with the start address high register (cr0c) and the start address low register (cr0d), it is possible to create a split display but with the top and bottom parts displaying different data, as described earlier. the top part will display whatever data exists in the frame buffer starting at the address specified in the two start address registers (cr0c and cr0d) while the bottom part will display whatever data exists in the frame buffer starting at the first byte of the frame buffer. 76543210 double scannin g line cmp bit 9 vert blnk start bit 9 maximum scanline .com .com .com .com .com 4 .com u datasheet
9-14 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 5 vertical blanking start bit 9 the vertical blanking start is a 10-bit or 12-bit value that specifies the beginning of the vertical blanking period relative to the beginning of the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical blanking start is specified with a 10-bit value. the 8 least significant bits of the vertical blanking start are supplied by bits 7-0 of the vertical blanking start register (cr15) and the most and second- most significant bits are supplied by bit 5 of this register (cr09) and bit 3 of the overflow register (cr07), respectively. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical blanking start is specified with a 12-bit value. the 8 least significant bits of this value are supplied by bits 7- 0 of the vertical blanking start register (cr15), and the 4 most significant bits are supplied by bits 3-0 of the extended vertical blanking start register (cr33). in extended modes, neither bit 5 of cr09 nor bit 3 of the overflow register (cr07) are used. this 10-bit or 12-bit value should be programmed to be equal to the number of scanline from the beginning of the active display area to the beginning of the blanking period. since the active display area always starts on the 0th scanline, this number should be equal to the number of the scanline on which the vertical blanking period begins. 4-0 starting row scan count these bits provide all 5 bits of a 5-bit value that specifies the number of scanlines in a horizontal row of text. this value should be programmed to be equal to the number of scanlines in a horizontal row of text, minus 1. .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-15 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr0a text cursor start register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 0ah this cursor is the text cursor that is part of the vga standard and should not be confused with the hardware cursor and popup (cursor 1 and cursor 2), which are intended to be used in graphics modes. this register is entirely ignored in graphics modes. 7-6 reserved 5 text cursor off 0: enables the text cursor. 1: disables the text cursor. 4-0 text cursor start these 5 bits specify which horizontal line of pixels within a character box is to be used to display the first horizontal line of the cursor in text mode. the horizontal lines of pixels within a character box are numbered from top to bottom, with the top-most line being number 0. the value specified by these 5 bits should be the number of the first horizontal line of pixels on which the cursor is to be shown. 76543210 reserved text cursor off text cursor start .com .com .com .com .com 4 .com u datasheet
9-16 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr0b text cursor end register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 0bh this cursor is the text cursor that is part of the vga standard and should not be confused with the hardware cursor and popup (cursor 1 and cursor 2), which are intended to be used in graphics modes. this register is entirely ignored in graphics modes. 7 reserved 6-5 text cursor skew specifies the degree to which the start and end of each horizontal line of pixels making up the cursor is delayed to compensate for internal pipeline delays. these 2 bits describe the delay in terms of a number of character clocks. 4-0 text cursor end these 5 bits specify which horizontal line of pixels within a character box is to be used to display the last horizontal line of the cursor in text mode. the horizontal lines of pixels within a character box are numbered from top to bottom, with the top-most line being number 0. the value specified by these 5 bits should be the number of the last horizontal line of pixels on which the cursor is to be shown. 76543210 reserved text cursor skew text cursor end bits 6 5 amount of delay 0 0 no delay 0 1 delayed by 1 character clock 1 0 delayed by 2 character clocks 1 1 delayed by 3 character clocks .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-17 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr0c start address high register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 0ch 7-0 start address bits 15-8 this register provides bits 15 through 8 of either a 16-bit or 20-bit value that specifies the memory address offset from the beginning of the frame buffer at which the data to be shown in the active display area begins. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the start address is specified with a 16-bit value. the eight bits of this register provide the eight most significant bits of this value, while the eight bits of the start address low register (cr0d) provide the eight least significant bits. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the start address is specified with a 20-bit value. the four most significant bits are provided by bits 3-0 of the extended start address register (cr40), bits 15 through 8 of this value are provided by this register and the eight least significant bits are provided by the start address low register (cr0d). note that in extended modes, these 20 bits are double-buffered and synchronized to vsync to ensure that changes occurring on the screen as a result of changes in the start address always have a smooth or instantaneous appearance. to change the start address in extended modes, all three registers must be set for the new value, and then bit 7 of cr40 must be set to 1. when this is done the hardware will update the start address on the next vsync. when this update has been performed, the hardware will set bit 7 of cr40 back to 0. 76543210 start address bits 15-8 .com .com .com .com .com 4 .com u datasheet
9-18 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr0d start address low register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 0dh 7-0 start address bits 7-0 this register provides the eight least significant bits of either a 16-bit or 20-bit value that specifies the memory address offset from the beginning of the frame buffer at which the data to be shown in the active display area begins. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the start address is specified with a 16-bit value. the eight bits of the start address high register (cr0c) provide the eight most significant bits of this value, while the eight bits of this register provide the eight least significant bits. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the start address is specified with a 20-bit value. the four most significant bits are provided by bits 3-0 of the extended start address register (cr40), bits 15 through 8 of this value are provided by the start address high register (cr0c), and the eight least significant bits are provided by this register. note that in extended modes, these 20 bits are double-buffered and synchronized to vsync to ensure that changes occurring on the screen as a result of changes in the start address always have a smooth or instantaneous appearance. to change the start address in extended modes, all three registers must be set for the new value, and then bit 7 of cr40 must be set to 1. when this is done the hardware will update the start address on the next vsync. when this update has been performed, the hardware will set bit 7 of cr40 back to 0. 76543210 start address bits 7-0 .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-19 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr0e text cursor location high register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 0eh this cursor is the text cursor that is part of the vga standard and should not be confused with the hardware cursor and popup (cursor 1 and cursor 2), which are intended to be used in graphics modes. this register is entirely ignored in graphics modes. 7-0 text cursor location bits 15-8 this register provides the 8 most significant bits of a 16-bit value that specifies the address offset from the beginning of the frame buffer at which the text cursor is located. bit 7-0 of the text cursor location low register (cr0f) provide the 8 least significant bits. cr0f text cursor location low register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 0fh this cursor is the text cursor that is part of the vga standard and should not be confused with the hardware cursor and popup (cursor 1 and cursor 2), which are intended to be used in graphics modes. this register is entirely ignored in graphics modes. 7-0 text cursor location bits 7-0 this register provides the 8 least significant bits of a 16-bit value that specifies the address offset from the beginning of the frame buffer at which the text cursor is located. bits 7-0 of the text cursor location high register (cr0e) provide the 8 most significant bits. 76543210 text cursor location bits 15-8 76543210 text cursor location bits 7-0 .com .com .com .com .com 4 .com u datasheet
9-20 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr10 vertical sync start register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 10h 7-0 vertical s y nc start bits 7-0 this register provides the 8 least significant bits of either a 10-bit or 12-bit value that specifies the beginning of the vertical sync pulse relative to the beginning of the active display area of a screen. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, this value is described in 10 bits with bits 7 and 2 of the overflow register (cr07) supplying the 2 most significant bits. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, this value is described in 12 bits with bits 3-0 of the extended vertical sync start register (cr32) supplying the 4 most significant bits. this 10-bit or 12-bit value should equal the vertical sync start in terms of the number of scanlines from the beginning of the active display area to the beginning of the vertical sync pulse. since the active display area always starts on the 0th scanline, this number should be equal to the number of the scanline on which the vertical sync pulse begins minus 1. 76543210 vertical sync start bits 7-0 .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-21 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr11 vertical sync end register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 11h 7 protect re g isters 0-7 0: enable writes to registers cr00-cr07. 1: disable writes to registers cr00-cr07. note: the ability to write to bit 4 of the overflow register (cr07) is not affected by this bit. bit 4 of the overflow register is always writable. 6 reserved writes to this bit are ignored. in the vga standard, this bit was used to switch between 3 and 5 frame buffer refresh cycles during the time required to draw each horizontal line. 5 vertical interrupt enable 0: enable the generation of an interrupt at the beginning of each vertical retrace period. 1: disable the generation of an interrupt at the beginning of each vertical retrace period. note: the hardware does not actually provide an interrupt signal which would be connected to an input of the systems interrupt controller. bit 7 of input status register 0 (st00) indicates the status of the vertical retrace interrupt, and can be polled by software to determine if a vertical retrace interrupt has taken place. bit 4 of this register can be used to clear a pending vertical retrace interrupt. 4 vertical interrupt clear setting this bit to 0 clears a pending vertical retrace interrupt. this bit must be set back to 1 to enable the generation of another vertical retrace interrupt. note: the hardware does not actually provide an interrupt signal which would be connected to an input of the systems interrupt controller. bit 7 of input status register 0 (st00) indicates the status of the vertical retrace interrupt, and can be polled by software to determine if a vertical retrace interrupt has taken place. bit 5 of this register can be used to enable or disable the generation of vertical retrace interrupts. 3-0 vertical s y nc end these 4 bits provide a 4-bit value that specifies the end of the vertical sync pulse relative to its beginning. this 4-bit value should be set to the least significant 4 bits of the result of adding the length of the vertical sync pulse in terms of the number of scanlines that occur within the length of the vertical sync pulse to the value that specifies the beginning of the vertical sync pulse. see the description of the vertical sync start register (cr10) for more details. 76543210 protect re g s 0-7 reserved vert int enable vert int clear vertical sync end .com .com .com .com .com 4 .com u datasheet
9-22 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr12 vertical display enable end register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 12h 7-0 vertical displa y enable end bits 7-0 this register provides the 8 least significant bits of either a 10-bit or 12-bit value that specifies the number of the last scanline within the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, this value is described in 10 bits with bits 6 and 1 of the overflow register (cr07) supplying the 2 most significant bits. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, this value is described in 12 bits with bits 3-0 of the extended vertical display enable end register (cr31) supplying the 4 most significant bits. this 10-bit or 12-bit value should be programmed to be equal to the number of the last scanline within in the active display area. since the active display area always starts on the 0th scanline, this number should be equal to the total number of scanlines within the active display area, minus 1. cr13 offset register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 13h 7-0 offset bits 7-0 this register provides either all 8 bits of an 8-bit value or the 8 least significant bits of a 12-bit value that specifies the number of words or doublewords of frame buffer memory occupied by each horizontal row of characters. whether this value is interpreted as the number of words or doublewords is determined by the settings of the bits in the clocking mode register (sr01). in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the offset is described with an 8-bit value, with all the bits provided by this register (cr13). in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the offset is described with a 12-bit value. the four most significant bits of this value are provided by bits 3-0 of the extended offset register (cr41), and the eight least significant bits are provided by this register (cr13). this 8-bit or 12-bit value should be programmed to be equal to either the number of words or doublewords (depending on the setting of the bits in the clocking mode register, sr01) of frame buffer memory that is occupied by each horizontal row of characters. 76543210 vertical display enable end bits 7-0 76543210 offset bits 7-0 .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-23 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr14 underline location register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 14h 7 reserved 6 doubleword mode 0: frame buffer addresses are interpreted by the frame buffer address decoder as being either byte addresses or word addresses, depending upon the setting of bit 6 of the crt mode control register (cr17). 1: frame buffer addresses are interpreted by the frame buffer address decoder as being doubleword addresses regardless of the setting of bit 6 of the crt mode control register (cr17). note: this bit is used in conjunction with bits 6 and 5 of the crt mode control register (cr17) to select how frame buffer addresses from the cpu are interpreted by the frame buffer address decoder as shown below: 5 count b y 4 0: the memory address counter is incremented either every character clock or every other character clock, depending upon the setting of bit 3 of the crt mode control register. 1: the memory address counter is incremented either every 4 character clocks or every 2 character clocks, depending upon the setting of bit 3 of the crt mode control register. note: this bit is used in conjunction with bit 3 of the crt mode control register (cr17) to select the number of character clocks are required to cause the memory address counter to be incremented as shown, below: 4-0 underline location these 5 bits specify which horizontal line of pixels in a character box is to be used to display a character underline in text mode. the horizontal lines of pixels within a character box are numbered from top to bottom, with the top-most line being number 0. the value specified by these 5 bits should be the number of the horizontal line on which the character underline mark is to be shown. 76543210 reserved dword mode count by 4 underline location cr14 bit 6 cr17 bit 6 addressing mode 0 0 word mode 01 byte mode 1 0 doubleword mode 1 1 doubleword mode cr14 bit 5 cr17 bit 3 address incrementing interval 0 0 every character clock 0 1 every 2 character clocks 1 0 every 4 character clocks 1 1 every 2 character clocks .com .com .com .com .com 4 .com u datasheet
9-24 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr15 vertical blanking start register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 15h 7-0 vertical blankin g start bits 7-0 this register provides the 8 least significant bits of either a 10-bit or 12-bit value that specifies the beginning of the vertical blanking period relative to the beginning of the active display area of the screen. whether this value is described in 10 or 12 bits depends on the setting of bit 0 of the i/o control register (xr09). in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical blanking start is specified with a 10-bit value. the most and second-most significant bits of this value are supplied by bit 5 of the maximum scanline register (cr09) and bit 3 of the overflow register (cr07), respectively. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical blanking start is specified with a 12-bit value. the 4 most significant bits of this value are supplied by bits 3- 0 of the extended vertical blanking start register (cr33). this 10-bit or 12-bit value should be programmed to be equal to the number of scanlines from the beginning of the active display area to the beginning of the vertical blanking period. since the active display area always starts on the 0th scanline, this number should be equal to the number of the scanline on which vertical blanking begins, minus one. cr16 vertical blanking end register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 16h 7-0 vertical blankin g end bits 7-0 this register provides a 8-bit value that specifies the end of the vertical blanking period relative to its beginning. this 8-bit value should be set equal to the least significant 8 bits of the result of adding the length of the vertical blanking period in terms of the number of scanlines that occur within the length of the vertical blanking period to the value that specifies the beginning of the vertical blanking period (see the description of the vertical blanking start register for details). 76543210 vertical blankin g start bits 7-0 76543210 vertical blankin g end bits 7-0 .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-25 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr17 crt mode control read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 17h 7 crt controller reset 0: forces horizontal and vertical sync signals to be inactive. no other registers or outputs are affected. 1: permits normal operation. 6 word mode or b y te mode 0: the memory address counters output bits are shifted by 1 bit position before being passed on to the frame buffer address decoder such that they are made into word-aligned addresses when bit 6 of the underline location register (cr147) is set to 0. 1: the memory address counters output bits remain unshifted before being passed on to the frame buffer address decoder such that they remain byte-aligned addresses when bit 6 of the underline location register (cr14) is set to 0. note: this bit is used in conjunction with bits 6 and 5 of the crt mode control register (cr17) to control how frame buffer addresses from the memory address counter are interpreted by the frame buffer address decoder as shown below: see the note at the end of this register description. 5 address wrap 0: wrap frame buffer address at 16kb. this is used in cga-compatible modes. 1: no wrapping of frame buffer addresses. note: this bit is only effective when word mode is made active by setting bit 6 in both the underline location register and this register to 0. see the note at the end of this register description. 4 reserved 76543210 crt ctrl reset word or byte mode address wrap reserved count by 2 horizontal retrace sel select row scan cntr compat mode supp. cr14 bit 6 cr17 bit 6 addressing mode 0 0 word mode -- addresses from the memory address counter are shifted once to become word-ali g ned 0 1 byte mode -- addresses from the memory address counter are not shifted 1 0 doubleword mode -- addresses from the memory address counter are shifted twice to become doubleword-ali g ned 1 1 doubleword mode -- addresses from the memory address counter are shifted twice to become doubleword-ali g ned .com .com .com .com .com 4 .com u datasheet
9-26 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 3 count by 2 0: the memory address counter is incremented either every character clock or every 4 character clocks, depending upon the setting of bit 5 of the underline location register. 1: the memory address counter is incremented either every other clock. this bit is used in conjunction with bit 5 of the underline location register (cr14) to select the number of character clocks required to cause the memory address counter to be incremented as shown, below: 2 horizontal retrace select this bit provides a method to effectively double the vertical resolution by allowing the vertical timing counter to be clocked by the horizontal retrace clock divided by 2 (usually, it would be undivided). 0: the vertical timing counter is clocked by the horizontal retrace clock. 1: the vertical timing counter is clocked by the horizontal retrace clock divided by 2. 1 select row scan counter 0: a substitution takes place, whereby bit 14 of the 16-bit memory address generated by the memory address counter (after the stage at which these 16 bits may have already been shifted to accommodate word or doubleword addressing) is replaced with bit 1 of the row scan counter at a stage just before this address is presented to the frame buffer address decoder. 1: no substitution takes place. see the note at the end of this register description for an overview of the interactions between this and other bits. 0 compatibility mode support 0: a substitution takes place, whereby bit 13 of the 16-bit memory address generated by the memory address counter (after the stage at which these 16 bits may have already been shifted to accommodate word or doubleword addressing) is replaced with bit 0 of the row scan counter at a stage just before this address is presented to the frame buffer address decoder. 1: no substitution takes place. see the note at the end of this register description for an overview of the interactions between this and other bits. note: the two tables that follow show the possible ways in which the address bits from the memory address counter can be shifted and/or reorganized before being presented to the frame buffer address decoder. first, the address bits generated by the memory address counter (maout0 to maout15) are reorganized, if needed, to accommodate byte, word, or doubleword modes. the resulting reorganized outputs (reorg0 to reorg15) may then also be further manipulated with the substitution of bits from the row scan counter (rsout0 and rsout1) before finally being presented to the input bits of the frame buffer address decoder (fbin15-fbin0). cr14 bit 5 cr17 bit 3 address incrementing interval 0 0 every character clock 0 1 every 2 character clocks 1 0 every 4 character clocks 1 1 every 2 character clocks .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-27 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 bits generated by the memory address counter (maout0 to maout15) byte mode cr14 bit 6=0 cr17 bit 6=1 cr17 bit 5=x word mode cr14 bit 6=0 cr17 bit 6=0 cr17 bit 5=1 word mode cr14 bit 6=0 cr17 bit 6=0 cr17 bit 5=0 doubleword mode cr14 bit 6=1 cr17 bit 6=x cr17 bit 5=x resultin g reor g anized bits maout0 maout15 maout13 maout12 reor g 0 maout1 maout0 maout0 maout13 reor g 1 maout2 maout1 maout1 maout0 reor g 2 maout3 maout2 maout2 maout1 reor g 3 maout4 maout3 maout3 maout2 reor g 4 maout5 maout4 maout4 maout3 reor g 5 maout6 maout5 maout5 maout4 reor g 6 maout7 or maout6 or maout6 or maout5 ? reor g 7 maout8 maout7 maout7 maout6 reor g 8 maout9 maout8 maout8 maout7 reor g 9 maout10 maout9 maout9 maout8 reor g 10 maout11 maout10 maout10 maout9 reor g 11 maout12 maout11 maout11 maout10 reor g 12 maout13 maout12 maout12 maout11 reor g 13 maout14 maout13 maout13 maout12 reor g 14 maout15 maout14 maout14 maout13 reor g 15 cr17 bit 1=1 cr17 bit 0=1 cr17 bit 1=1 cr17 bit 0=0 cr17 bit 1=0 cr17 bit 0=1 cr17 bit 1=0 cr17 bit 0=0 bits sent to the frame buffer address decoder reor g 0 reor g 0 reor g 0reor g 0fbin0 reor g 1 reor g 1 reor g 1reor g 1fbin1 reor g 2 reor g 2 reor g 2reor g 2fbin2 reor g 3 reor g 3 reor g 3reor g 3fbin3 reor g 4 reor g 4 reor g 4reor g 4fbin4 reor g 5 reor g 5 reor g 5reor g 5fbin5 reor g 6 reor g 6 reor g 6reor g 6fbin6 reor g 7 or reor g 7 or reor g 7orreor g 7 ? fbin7 reor g 8 reor g 8 reor g 8reor g 8fbin8 reor g 9 reor g 9 reor g 9reor g 9fbin9 reor g 10 reor g 10 reor g 10 reor g 10 fbin10 reor g 11 reor g 11 reor g 11 reor g 11 fbin11 reor g 12 reor g 12 reor g 12 reor g 12 fbin12 reor g 13 rsout0 reor g 13 rsout0 fbin13 reor g 14 reor g 14 rsout1 rsout1 fbin14 reor g 15 reor g 15 reor g 15 reor g 15 fbin15 .com .com .com .com .com 4 .com u datasheet
9-28 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr18 line compare register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 18h 7-0 line compare bits 7-0 this register provides the 8 least significant bits of a 10-bit value that specifies the scanline at which the memory address counter restarts at the value of 0. bit 6 of the maximum scanline register (cr09) supplies the most significant bit, and bit 4 of the overflow register (cr07) supplies the second most significant bit. normally, this 10-bit value is set to specify a scanline after the last scanline of the active display area. when this 10-bit value is set to specify a scanline within the active display area, it causes that scanline and all subsequent scanlines in the active display area to display video data starting at the very first byte of the frame buffer. the result is what appears to be a screen split into a top and bottom part, with the image in the top part being repeated in the bottom part. when used in cooperation with the start address high register (cr0c) and the start address low register (cr0d), it is possible to create a split display, as described earlier, but with the top and bottom parts displaying different data. the top part will display whatever data exists in the frame buffer starting at the address specified in the two start address registers (cr0c and cr0d), while the bottom part will display whatever data exists in the frame buffer starting at the first byte of the frame buffer. cr22 memory read latch data register read-only at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 22h 7-0 memor y read latch data this register provides the value currently stored in 1 of the 4 memory read latches. bits 1 and 0 of the read map select register (gr04) select which of the 4 memory read latches may be read using this register. 76543210 line compare bits 7-0 76543210 memory read latch data .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-29 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr30 extended vertical total register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 30h 7-4 reserved these bits should always be written with the value of 0. 3-0 vertical total bits 11-8 the vertical total is a 10-bit or 12-bit value that specifies the total number of scanlines. this includes the scanlines both inside and outside of the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical total is specified with a 10-bit value. the 8 least significant bits of the vertical total are supplied by bits 7-0 of the vertical total register (cr06), and the 2 most significant bits are supplied by bits 5 and 0 of the overflow register (cr07). in standard vga modes, these bits 3-0 of this register (cr30) are not used. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical total is specified with a 12-bit value. the 8 least significant bits of this value are supplied by bits 7-0 of the vertical total register (cr06), and the 4 most significant bits are supplied by bits 3-0 of this register (cr30). this 10-bit or 12-bit value should be programmed to be equal to the total number of scanlines, minus 2. cr31 extended vertical display end register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 31h 7-4 reserved these bits should always be written with the value of 0. 3-0 vertical displa y end bits 11-8 the vertical display enable end is a 10-bit or 12-bit value that specifies the number of the last scanline within the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical display enable end is specified with a 10-bit value. the 8 least significant bits of the vertical display enable end are supplied by bits 7-0 of the vertical display enable end register (cr12), and the 2 most significant bits are supplied by bits 6 and 1 of the overflow register (cr07). in standard vga modes bits 3-0 of cr31 are not used. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical display enable end is specified with a 12-bit value. the 8 least significant bits of the vertical display enable end are supplied by bits 7-0 of the vertical display enable end register (cr12), and the 4 most significant bits are supplied by these 4 bits of this register (cr31). this 10-bit or 12-bit value should be programmed to be equal to the number of the last scanline with in the active display area. since the active display area always starts on the 0th scanline, this number should be equal to the total number of scanlines within the active display area, minus 1. 76543210 reserved vertical total bits 11-8 76543210 reserved vertical display end bits 11-8 .com .com .com .com .com 4 .com u datasheet
9-30 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr32 extended vertical sync start register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 32h 7-4 reserved these bits should always be written with the value of 0. 3-0 vertical s y nc start bits 11-8 the vertical sync start is a 10-bit or 12-bit value that specifies the beginning of the vertical sync pulse relative to the beginning of the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical sync start is specified with a 10-bit value. the 8 least significant bits of the vertical sync start are supplied by bits 7-0 of the vertical sync start register (cr10), and the 2 most significant bits are supplied by bits 7 and 2 of the overflow register (cr07). in standard vga modes, bits 3-0 of cr32 are not used. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical display end is specified with a 12-bit value. the 8 least significant bits of the vertical sync start are supplied by bits 7-0 of the vertical sync start register (cr10), and the 4 most significant bits are supplied by bits 3-0 of this register (cr32). this 10-bit or 12-bit value should be programmed to be equal to the number of scanlines from the beginning of the active display area to the start of the vertical sync pulse. since the active display area always starts on the 0th scanline, this number should be equal to the number of the scanline on which the vertical sync pulse begins. 76543210 reserved vertical sync start bits 11-8 .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-31 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr33 extended vertical blanking start register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 33h 7-4 reserved these bits should always be written with the value of 0. 3-0 vertical blankin g start bits 11-8 the vertical blanking start is a 10-bit or 12-bit value that specifies the beginning of the vertical blanking period relative to the beginning of the active display area. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the vertical blanking start is specified with a 10-bit value. the 8 least significant bits of the vertical blanking start are supplied by bits 7-0 of the vertical blanking start register (cr15), and the most and second-most significant bits are supplied by bit 5 of the maximum scanline register (cr09) and bit 3 of the overflow register (cr07), respectively. in standard vga modes, bits 3-0 if this register (cr33) are not used. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the vertical blanking start is specified with a 12-bit value. the 8 least significant bits of this value are supplied by bits 7-0 of the vertical blanking start register (cr15), and the 4 most significant bits are supplied by bits 3-0 of this register (cr33). this 10-bit or 12-bit value should be programmed to be equal to the number of scan lines from the beginning of the active display area to the beginning of the blanking period. since the active display area always starts on the 0th scanline, this number should be equal to the number of the scanline on which the vertical blanking period begins. 76543210 reserved vertical blankin g start bits 11-8 .com .com .com .com .com 4 .com u datasheet
9-32 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr38 extended horizontal total register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 38h 7-1 reserved these bits should always be written with the value of 0. 0 horizontal total bit 8 the horizontal total is an 8-bit or 9-bit value that specifies the total length of a scanline. this includes both the part of the scanline that is within the active display area and the part that is outside of it. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the horizontal total is specified with an 8-bit value. all 8 bits of the horizontal total are supplied by bits 7-0 of the horizontal total register (cr00). in standard vga modes, this bit is not used. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the horizontal total is specified with a 9-bit value. the 8 least significant bits of this value are supplied by bits 7-0 of the horizontal total register (cr00), and the most significant bit is supplied by this bit of this register. this 8-bit or 9-bit value should be programmed to equal the total number of character clocks within the total length of a scanline minus 5. note: for ntsc/pal output support, cr79 can be used to add a programmable number of pixel clocks (as opposed to character clocks) to the horizontal total, permitting the horizontal total to be specified with greater precision. 76543210 reserved (0000:000) hor total bit 8 (0) .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-33 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr3c extended horizontal blanking end register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 3ch 7-6 horizontal blankin g end bits 7 and 6 the horizontal blanking end is a 6-bit or 8-bit value that specifies the end of the horizontal blanking period relative to its beginning. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the horizontal blanking end is specified with a 6-bit value. the 5 least significant bits of this value are supplied by bits 4-0 of the horizontal blanking end register (cr03), and the most significant bit is supplied by bit 7 of the horizontal sync end register (cr05). in standard vga modes, this bit is not used. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the horizontal blanking end is specified with an 8-bit value. the 5 least significant bits of this value are supplied by bits 4-0 of the horizontal blanking end register (cr03), the next most significant bit is supplied by bit 7 of the horizontal sync end register (cr05), and both the most significant and 2nd most significant bits are supplied by bits 7 and 6, respectively, of this register. this 6-bit or 8-bit value should be programmed to be equal to the least significant 6 or 8 bits, respectively, of the result of adding the length of the blanking period in terms of character clocks to the value specified in the horizontal blanking start register (cr02). 5-0 reserved these bits should always be written with the value of 0. 76543210 horizontal blank end bits 7 and 6 (00) reserved (00:0000) .com .com .com .com .com 4 .com u datasheet
9-34 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr40 extended start address register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 40h 7 extended mode start address enable this bit is used only in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, to signal the hardware to update the start address. in extended modes, the start address is specified with a 20 bit value. these 20 bits, which are provided by the start address low register (cr0d), the start address high register (cr0c) and bits 3-0 of this register, are double-buffered and synchronized to vsync to ensure that changes occurring on the screen as a result of changes in the start address always have a smooth or instantaneous appearance. to change the start address in extended modes, all three registers must be set for the new value, and then this bit of this register must be set to 1. only if this is done, will the hardware update the start address on the next vsync. when this update has been performed, the hardware will set bit 7 of this register back to 0. 6-4 reserved whenever this register is written to, these bits should be set to 0. 3-0 start address bits 19-16 the start address is a 16-bit or a 20-bit value that specifies the memory address offset from the beginning of the frame buffer at which the data to be shown in the active display area begins. in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the start address is specified with a 16-bit value. the eight bits of the start address high register (cr0c) provide the eight most significant bits of this value, while the eight bits of the start address low register (cr0d) provide the eight least significant bits. in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the start address is specified with a 20-bit value. the four most significant bits are provided by bits 3-0 of this register, bits 15 through 8 of this value are provided by the start address high register (cr0c), and the eight least significant bits are provided by the start address low register (cr0d). note that in extended modes, these 20 bits are double-buffered and synchronized to vsync to ensure that changes occurring on the screen as a result of changes in the start address always have a smooth or instantaneous appearance. to change the start address in extended modes, all three registers must be set for the new value, and then bit 7 of this register must be set to 1. only if this is done, will the hardware update the start address on the next vsync. when this update has been performed, the hardware will set bit 7 of this register back to 0. 76543210 strt addr en reserved start address bits 19-16 .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-35 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr41 extended offset register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 41h 7-4 reserved whenever this register is written to, these bits should be set to 0. 3-0 offset bits 11-8 the offset is an 8-bit or 12-bit value describing the number of words or doublewords of frame buffer memory occupied by each horizontal row of characters. whether this value is interpreted as the number of words or doublewords is determined by the settings of the bits in the clocking mode register (sr01). in standard vga modes, where bit 0 of the i/o control register (xr09) is set to 0, the offset is described with an 8-bit value, all the bits of which are provided by the offset register (cr13). in extended modes, where bit 0 of the i/o control register (xr09) is set to 1, the offset is described with a 12-bit value. the four most significant bits of this value are provided by bits 3-0 of this register, and the eight least significant bits are provided by the offset register (cr13). this 8-bit or 12-bit value should be programmed to be equal to either the number of words or doublewords (depending on the setting of the bits in the clocking mode register, sr01) of frame buffer memory that is occupied by each horizontal row of characters. cr70 interlace control register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 70h 7 interlace enable 0: selects non-interlaced crt output. this is the default after reset. 1: selects interlaced crt output. 6-0 crt half-line value when interlaced crt output has been selected, these 7 bits specify the position along the length of a scan line at which the half-line vertical sync pulse occurs for the odd frame. this half-line vertical sync pulse begins at a position between two horizontal sync pulses on the last scanline, rather than coincident with the beginning of a horizontal sync pulse at the end of a scanline. 76543210 reserved offset bits 11-8 76543210 interlace enable crt half-line value .com .com .com .com .com 4 .com u datasheet
9-36 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr71 ntsc/pal video output control register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 71h 7 ntsc/pal select 0: selects ntsc-formatted video output. 1: selects pal-formatted video output. 6 pedestal enable 0: disables the provision of an additional voltage pedestal on red, green and blue analog output lines during the active video portions of each horizontal line. 1: enables the provision of an additional voltage pedestal on the red, green, and blue analog output lines during the active video portions of each horizontal line. 5blankin g dela y control 0: blanking period is not delayed on odd frames. 1: blanking period is delayed by half a scanline on odd frames. 4-3 composite s y nc character clock dela y these 2 bits specify the number of character clocks (from 0 to 3) by which the composite sync may be delayed. 2-0 composite s y nc pixel clock dela y these 3 bits specify the number of pixel clocks (from 0 to 7) by which the composite sync may be delayed. 76543210 ntsc/ pal sel pedestal enable blankin g delay ctrl composite sync character clk delay composite sync pixel clk delay .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-37 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr72 ntsc/pal horizontal serration 1 start register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 72h 7-0 horizontal serration 1 start these 8 bits specify the start position along the length of a scanline of the first horizontal serration pulse for composite sync generation. cr73 ntsc/pal horizontal serration 2 start register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 73h 7-0 horizontal serration 2 start these 8 bits specify the start position along the length of a scanline of the second horizontal serration pulse for composite sync generation. 76543210 horizontal serration 1 start 76543210 horizontal serration 2 start .com .com .com .com .com 4 .com u datasheet
9-38 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr74 ntsc/pal horizontal pulse width register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 74h 7-6 reserved 5 ntsc/pal horizontal pulse width round off control 0: enables the generation of horizontal equalization pulses with a width that is approximately equal to half the width of the horizontal sync pulse. the actual width is determined using bits 4-0 of this register. 1: disables the generation of horizontal equalization pulses. 4-0 ntsc/pal horizontal equalization pulse width these 5 bits specify the pulse width of the horizontal equalization pulse used to generate the ntsc/pal-compliant composite sync. normally, the width of this horizontal equalization pulse is approximately half the width of the horizontal sync pulse. these 5 bits should be programmed with a value equal to the actual pulse width, subtracted by 1. the width of the actual equalization pulse can be calculated as follows: equalization pulse width - 1 = ( cr74[4:0] - cr74[5] ) ? 2 76543210 reserved round off ntsc/pal horizontal equalization pulse width .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-39 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr75 ntsc/pal filtering burst read length register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 75h 7-4 reserved these bits should always be written with the value of 0. 3-0 memor y burst access se g ment len g th the flicker reduction filtering processes are performed on pixel data as it is sequentially read from the frame buffer to be displayed. these filtering processes involve the averaging of current pixel data that is about to be displayed with data for adjacent pixels. depending upon which filtering processes are selected, accesses to the frame buffer can become non- sequential. to optimize the use of the frame buffer, burst accesses of one or more quadwords are performed to read this data. these 4 bits provide a means of adjusting how many quadwords of pixel data are read from the frame buffer in each burst access. cr76 ntsc/pal filtering burst read quantity register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 76h 7-0 memor y burst access se g ments per scanline these 8 bits specify the number of burst reads required to supply both current pixel data and pixel data from adjacent pixels for each scanlines worth of displayable pixel data. refer to the ntsc/pal filtering burst read length register (cr75) for an explanation of these burst reads. 76543210 reserved (writable) (xxxx) memory burst read len g th (xxxx) 76543210 memory burst access se g ments per scanline (xxxx:xxxx) .com .com .com .com .com 4 .com u datasheet
9-40 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr77 ntsc/pal filtering control register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 77h 7 vga text mode scanline halvin g 0: disables vga text mode scanline halving. 1: enables vga text mode scanline halving, where the setting carried in the maximum scanline register (cr09) and that carried by bits 4-0 of the text cursor end register (cr0b) are halved. this is done to cut the number of scanlines actually sent to the display from vga standard quantities (such as 400) down to quantities that are more manageable for televisions (such as 200) without actually programming cr09 and bits 4-0 of cr0b with values that are different from vga standards. this function is meant to be used in conjunction with character fonts that are only half as high as those normally used in vga text modes. 6-4 reserved (writable) these bits should always be written with the value of 0. 3 horizontal flicker reduction filterin g enable note: bits 1 and 0 of this register must both be set to 1 in order to enable the flicker reduction filtering hardware, before horizontal flicker reduction filtering can be enabled through this bit. 0: disables horizontal flicker reduction filtering 1: enables horizontal flicker reduction filtering where the current pixel is averaged with the pixels immediately to the left and right on the same scanline. this averaging process uses weighted averaging. the current pixels value is divided by 2, the values of each of the two adjacent pixels is divided by 4, and the resulting three values are added to create the value that is displayed. 2 vertical flicker reduction filterin g enable note: bits 1 and 0 of this register must both be set to 1 in order to enable the flicker reduction filtering hardware, before vertical flicker reduction filtering can be enabled through this bit. 0: disables vertical flicker reduction filtering 1: enables vertical flicker reduction filtering where the pixels of the current scanline are averaged with the pixels of the next scanline as the pixels of the current scanline are being displayed. 1 internal clock doublin g enable 0: one of the internal clocks used by the graphics controller remains at normal clock rates. 1: one of the internal clocks used by the graphics controller is doubled in frequency. 0 flicker reduction filterin g enable note: bit 1 of this register should be set to enable the doubling of an internal clock, before the use of the flicker reduction hardware is enabled by setting this bit to 1. 0: disables all flicker reduction filter hardware. 1: enables the use of the flicker reduction filter hardware. 76543210 text mode line halvin g (0) reserved (writable) (000) hor. filter enable (0) ver. filter enable (0) clk doublin g enable (0) filterin g enable (0) .com .com .com .com .com 4 .com u datasheet
crt controller registers 9-41 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr78 ntsc/pal vertical reduction register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 78h 7 vertical reduction enable 0: vertcal reduction is disabled. this is the default after reset. 1: vertical reduction is enabled 6-5 reserved these bits always return the value of 0 when read. 4-0 vertical reduction line droppin g interval when bit 7 of this register is set to 1, these 5 bits specify the number of scanlines remaining (those which will be drawn on the display) between each of the scanlines that are to be dropped (those which will not be drawn on the display). 76543210 vertical redux en (0) reserved (0) reserved (0) vertical reduction line droppin g interval (0:0000) bit 4 3 2 1 0 number of scanlines remaining between dropped scanlines 0 0 0 0 0 reserved 0 0 0 0 1 reserved 0 0 0 1 0 to 1 1 1 1 1 2 to 31 .com .com .com .com .com 4 .com u datasheet
9-42 crt controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cr79 ntsc/pal horizontal total fine adjust register read/write at i/o address 3b5h/3d5h with index at address 3b4h/3d4h set to 79h 7-3 reserved 2-0 horizontal total fine ad j ust these 3 bits can be use to specify a number of pixel clocks to be added to the horizontal total specified either by the horizontal total register (cr00) alone in vga standard modes, or by the horizontal total register (cr00) in conjunction with the extended horizontal total register (cr38) for extended modes -- both of which specify their respective portions of the horizontal total in units of character clocks. the pixel clock granularity of these 3 bits permit the horizontal total to be specified with greater precision than is possible with character clocks, alone. 76543210 reserved (writable) (0000:0) ntsc/pal horizontal total fine adjust (000) .com .com .com .com .com 4 .com u datasheet
sequencer registers 10-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 10 sequencer registers the sequencer registers are accessed by writing the index of the desired register into the vga sequencer index register (srx) at i/o address 3c4, and then accessing the desired register through the data port for the sequencer registers at i/o address 3c5. name function access (via 3c5) index value in 3c4 (srx) sr00 reset re g ister read/write 00 sr01 clockin g mode re g ister read/write 01 sr02 plane mask re g ister read/write 02 sr03 character map select re g ister read/write 03 sr04 memory mode re g ister read/write 04 sr07 horizontal character counter reset re g ister read/write 07 .com .com .com .com .com 4 .com u datasheet
10-2 sequencer registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 srx sequencer index register read/write at i/o address 3c4h this register is cleared to 00h by reset. 7-3 reserved 2-0 sequencer re g ister index these three bits are used to select any one of the sequencer registers, sr00 through sr07, to be accessed via the data port at i/o location 3c5. note: sr02 is referred to in the vga standard as the map mask register. however, the word map is used with multiple meanings in the vga standard and was therefore deemed too confusing, hence the reason for calling it the plane mask register. note: sr07 is a standard vga register that was not documented by ibm. it is not a chips extension. sr00 reset register read/write at i/o address 3c5h with index at address 3c4h set to 00h 7-2 reserved 1s y nchronous reset setting this bit to 0 commands the sequencer to perform a synchronous clear and then halt. the sequencer should be reset via this bit before changing the clocking mode register (sr01) if the memory contents are to be preserved. however, leaving this bit set to 0 for longer than a few tenths of a microsecond can still cause data loss in the frame buffer. no register settings are changed by performing this type of reset. 0: forces synchronous reset and halt 1: permits normal operation 0as y nchronous reset setting this bit to 0 commands the sequencer to perform a clear and then halt. resetting the sequencer via this bit can cause data loss in the frame buffer. no register settings are changed by performing this type of reset. 0: forces asynchronous reset 1: permits normal operation 76543210 reserved sequencer re g ister index 76543210 reserved sync reset async reset .com .com .com .com .com 4 .com u datasheet
sequencer registers 10-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 sr01 clocking mode register read/write at i/o address 3c5h with index at address 3c4h set to 01h 7-6 reserved 5 screen off 0: permits normal operation 1: disables all graphics output except for video playback windows and turns off the picture- generating logic allowing the full memory bandwidth to be available for both host cpu accesses and accesses by the multimedia engine for video capture and playback functions. synchronization pulses to the display, however, are maintained. setting this bit to 1 can be used as a way to more rapidly update the frame buffer. 4shift 4 0: causes the video data shift registers to be loaded every 1 or 2 character clock cycles, depending on bit 2 of this register. 1: causes the video data shift registers to be loaded every 4 character clock cycles. 3 dot clock divide setting this bit to 1 divides the dot clock by two and stretches all timing periods. this bit is used in standard vga 40-column text modes to stretch timings to create horizontal resolutions of either 320 or 360 pixels as opposed to 640 or 720 pixels, normally used in standard vga 80-column text modes. 0: pixel clock is left unaltered. 1: pixel clock is divided by 2. 2shift load this bit is ignored if bit 4 of this register is set to 1. 0: causes the video data shift registers to be loaded on every character clock, if bit 4 of this register is set to 0. 1: causes the video data shift registers to be loaded every 2 character clocks, provided that bit 4 of this register is set to 0. 1 reserved 0 8/9 dot clocks 0: selects 9 dot clocks (9 horizontal pixels) per character in text modes with a horizontal resolution of 720 pixels 1: selects 8 dot clocks (8 horizontal pixels) per character in text modes with a horizontal resolution of 640 pixels 76543210 reserved screen off shift 4 dot clock divide shift load reserved 8/9 dot clocks .com .com .com .com .com 4 .com u datasheet
10-4 sequencer registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 sr02 plane mask register read/write at i/o address 3c5h with index at address 3c4h set to 02h note: this register is referred to in the vga standard as the map mask register. however, the word map is used with multiple meanings in the vga standard and was, therefore, deemed too confusing, hence the reason for calling it the plane mask register. 7-4 reserved 3-0 memor y plane 3 throu g h memor y plane 0 these four bits of this register control processor write access to the four memory maps: 0: disables cpu write access to the given memory plane 1: enables cpu write access to the given memory plane in both the odd/even mode and the chain 4 mode, these bits still control access to the corresponding color plane. 76543210 reserved memory plane 3 memory plane 2 memory plane 1 memory plane 0 .com .com .com .com .com 4 .com u datasheet
sequencer registers 10-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 sr03 character map select register read/write at i/o address 3c5h with index at address 3c4h set to 03h note: in text modes, bit 3 of the video datas attribute byte normally controls the foreground intensity. this bit may be redefined to control switching between character sets. this latter function is enabled whenever there is a difference in the values of the character font select a and the character font select b bits. if the two values are the same, the character select function is disabled and attribute bit 3 controls the foreground intensity. 7-6 reserved 5, 3-2 character map select bits for character map a these three bits are used to select the character map (character generator tables) to be used as the secondary character set (font). note that the numbering of the maps is not sequential. 4, 1-0 character map select bits for character map b these three bits are used to select the character map (character generator tables) to be used as the primary character set (font). note that the numbering of the maps is not sequential. note: bit 1 of the memory mode register (sr04) must be set to 1 for the character font select function of this register to be active. otherwise, only character maps 0 and 4 are available. 76543210 reserved char map a select (bit 0) char map b select (bit 0) character map a select (bits 2 and 1) character map b select (bits 2 and 1) bit 3 2 bit 5 map number table location 0 0 0 0 1st 8kb of plane 2 at offset 0 0 0 1 4 2nd 8kb of plane 2 at offset 8k 0 1 0 1 3rd 8kb of plane 2 at offset 16k 0 1 1 5 4th 8kb of plane 2 at offset 24k 1 0 0 2 5th 8kb of plane 2 at offset 32k 1 0 1 6 6th 8kb of plane 2 at offset 40k 1 1 0 3 7th 8kb of plane 2 at offset 48k 1 1 1 7 8th 8kb of plane 2 at offset 56k bit 1 0 bit 4 map number table location 0 0 0 0 1st 8kb of plane 2 at offset 0 0 0 1 4 2nd 8kb of plane 2 at offset 8k 0 1 0 1 3rd 8kb of plane 2 at offset 16k 0 1 1 5 4th 8kb of plane 2 at offset 24k 1 0 0 2 5th 8kb of plane 2 at offset 32k 1 0 1 6 6th 8kb of plane 2 at offset 40k 1 1 0 3 7th 8kb of plane 2 at offset 48k 1 1 1 7 8th 8kb of plane 2 at offset 56k .com .com .com .com .com 4 .com u datasheet
10-6 sequencer registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 sr04 memory mode register read/write at i/o address 3c5h with index at address 3c4h set to 04h 7-4 reserved 3 chain 4 mode 0: the manner in which the frame buffer memory is mapped is determined by the setting of bit 2 of this register. 1: the frame buffer memory is mapped in such a way that the function of address bits 0 and 1 are altered so that they select planes 0 through 3. the selections made by this bit affect both cpu read and write accesses to the frame buffer. 2 odd/even mode 0: the frame buffer is mapped so that address bit 0 is used to select between sets of planes such that even addresses select memory planes 0 and 2 and odd addresses select memory planes 1 and 3. 1: addresses sequentially access data within a bit map, and the choice of which map is accessed is made according to the value of the plane mask register (sr02). note: bit 3 of this register must be set to 0 for this bit to be effective. the selections made by this bit affect only cpu writes to the frame buffer. note: this works in a way that is the inverse of (and is normally set to be the opposite of) bit 2 of the memory mode register (sr04). 1extended memor y enable 0: disable cpu accesses to more than the first 64kb of vga standard memory. 1: enable cpu accesses to the rest of the 256kb total vga memory beyond the first 64kb. this bit must be set to 1 to enable the selection and use of character maps in plane 2 via the character map select register (sr03). 0 reserved 76543210 reserved chain 4 odd/ even extended memory reserved .com .com .com .com .com 4 .com u datasheet
sequencer registers 10-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 sr07 horizontal character counter reset register read/write at i/o address 3c5h with index at address 3c4h set to index 07h writing this register with any data will cause the horizontal character counter to be held in reset (the character counter output will remain 0) until a write occurs to any other sequencer register location with srx set to an index of 0 through 6. the vertical line counter is clocked by a signal derived from the horizontal display enable (which does not occur if the horizontal counter is held in reset). therefore, if a write occurs to this register occurs during the vertical retrace interval, both the horizontal and vertical counters will be set to 0. a write to any other sequencer register location (with srx set to an index of 0 through 6) may then be used to start both counters with reasonable synchronization to an external event via software control. this is a standard vga register which was not documented by ibm. 76543210 horizontal character counter reset .com .com .com .com .com 4 .com u datasheet
10-8 sequencer registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
graphics controller registers 11-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 11 graphics controller registers the graphics controller registers are accessed by writing the index of the desired register into the vga graphics controller index register (grx) at i/o address 3ce, then accessing the desired register through the data port for the graphics controller registers located at i/o address 3cf. name function access (via 3cf) index value in 3ce (grx) gr00 set/reset register read/write 00h gr01 enable set/reset register read/write 01h gr02 color compare register read/write 02h gr03 data rotate register read/write 03h gr04 read map select register read/write 04h gr05 graphics mode register read/write 05h gr06 miscellaneous register read/write 06h gr07 color dont care register read/write 07h gr08 bit mask register read/write 08h .com .com .com .com .com 4 .com u datasheet
11-2 graphics controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 grx graphics controller index register read/write at i/o address 3ceh this register is cleared to 00h by reset. 7-4 reserved 3-0 graphics controller re g ister index these four bits are used to select any one of the graphics controller registers, gr00 through gr08, to be accessed via the data port at i/o location 3cf. gr00 set/reset register read/write at i/o address 3cfh with index at address 3ceh set to 00h 7-4 reserved 3-0 set/reset plane 3 throu g h set/reset plane 0 when the write mode bits (bits 0 and 1) of the graphics mode register (gr05) are set to select write mode 0, all 8 bits of each byte of each memory plane are set to either 1 or 0 as specified in the corresponding bit in this register if the corresponding bit in the enable set/reset register (gr01) is set to 1. when the write mode bits (bits 0 and 1) of the graphics mode register (gr05) are set to select write mode 3, all cpu data written to the frame buffer is rotated, then logically anded with the contents of the bit mask register (gr08) and then treated as the addressed datas bit mask, while value of these four bits of this register are treated as the color value. 76543210 reserved graphics controller re g ister index 76543210 reserved set/reset plane 3 set/reset plane 2 set/reset plane 1 set/reset plane 0 .com .com .com .com .com 4 .com u datasheet
graphics controller registers 11-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 gr01 enable set/reset register read/write at i/o address 3cfh with index at address 3ceh set to 01h 7-4 reserved 3-0 enable set/reset plane 3 throu g h enable set/reset plane 0 0: the corresponding memory plane can be read from or written to by the cpu without any special bitwise operations taking place. 1: the corresponding memory plane is set to 0 or 1 as specified in the set/reset register (gr00). this register works in conjunction with the set/reset register (gr00). the write mode bits (bits 0 and 1) must be set for write mode 0 for this register to have any effect. gr02 color compare register read/write at i/o address 3cfh with index at address 3ceh set to 02h 7-4 reserved 3-0 color compare plane 3 throu g h color compare plane 0 when the read mode bit (bit 3) of the graphics mode register (gr05) is set to select read mode 1, all 8 bits of each byte of each of the 4 memory planes of the frame buffer corresponding to the address from which a cpu read access is being performed are compared to the corresponding bits in this register (if the corresponding bit in the color dont care register (gr07) is set to 1). the value that the cpu receives from the read access is an 8-bit value that shows the result of this comparison, wherein a value of 1 in a given bit position indicates that all of the corresponding bits in the bytes across all of the memory planes that were included in the comparison had the same value as their memory planes respective bits in this register. 76543210 reserved enbl set/ reset pln 3 enbl set/ reset pln 2 enbl set/ reset pln 1 enbl set/ reset pln 0 76543210 reserved color comp plane 3 color comp plane 2 color comp plane 1 color comp plane 0 .com .com .com .com .com 4 .com u datasheet
11-4 graphics controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 gr03 data rotate register read/write at i/o address 3cfh with index at address 3ceh set to 03h 7-5 reserved 4-3 function select these bits specify the logical function (if any) to be performed on data that is meant to be written to the frame buffer (using the contents of the memory read latch) just before it is actually stored in the frame buffer at the intended address location. 2-0 rotate count these bits specify the number of bits to the right to rotate any data that is meant to be written to the frame buffer just before it is actually stored in the frame buffer at the intended address location. 76543210 reserved function select rotate count bit 4 5 result 0 0 data bein g written to the frame buffer remains unchan g ed, and is simply stored in the frame buffer. 0 1 data bein g written to the frame buffer is lo g ically anded with the data in the memory read latch before it is actually stored in the frame buffer. 1 0 data bein g written to the frame buffer is lo g ically ored with the data in the memory read latch before it is actually stored in the frame buffer. 1 1 data bein g written to the frame buffer is lo g ically xored with the data in the memory read latch before it is actually stored in the frame buffer. .com .com .com .com .com 4 .com u datasheet
graphics controller registers 11-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 gr04 read plane select register read/write at i/o address 3cfh with index at address 3ceh set to 04h 7-2 reserved 1-0 read plane select these two bits select the memory plane from which the cpu reads data in read mode 0. in odd/ even mode, bit 0 of this register is ignored. in chain 4 mode, both bits 1 and 0 of this register are ignored. the four memory planes are selected as follows: these two bits also select which of the four memory read latches may be read via the memory read latch data register (cr22). the choice of memory read latch corresponds to the choice of plane specified in the table above. the memory read latch data register and this additional function served by 2 bits are features of the vga standard that were never documented by ibm. 76543210 reserved read plane select bits 1 0 plane selected 0 0 plane 0 0 1 plane 1 1 0 plane 2 1 1 plane 3 .com .com .com .com .com 4 .com u datasheet
11-6 graphics controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 gr05 graphics mode register read/write at i/o address 3cfh with index at address 3ceh set to 05h 7 reserved 6-5 shift re g ister control in standard vga modes, pixel data is transferred from the 4 graphics memory planes to the palette via a set of 4 serial output bits. these 2 bits of this register control the format in which data in the 4 memory planes is serialized for these transfers to the palette. 0, 0: one bit of data at a time from parallel bytes in each of the 4 memory planes is transferred to the palette via the 4 serial output bits, with 1 of each of the serial output bits corresponding to a memory plane. this provides a 4-bit value on each transfer for 1 pixel, making possible a choice of 1 of 16 colors per pixel. 0, 1: two bits of data at a time from parallel bytes in each of the 4 memory planes are transferred to the palette in a pattern that alternates per byte between memory planes 0 and 2, and memory planes 1 and 3. first the even-numbered and odd-numbered bits of a byte in memory plane 0 are transferred via serial output bits 0 and 1, respectively, while the even-numbered and odd-numbered bits of a byte in memory plane 2 are transferred via serial output bits 2 and 3. next, the even- numbered and odd-numbered bits of a byte in memory plane 1 are transferred via serial output bits 0 and 1, respectively, while the even-numbered and odd-numbered bits of memory plane 3 are transferred via serial out bits 1 and 3. this provides a pair of 2-bit values (one 2-bit value for each of 2 pixels) on each transfer, making possible a choice of 1 of 4 colors per pixel. this alternating pattern is meant to accommodate the use of the odd/even mode of organizing the 4 memory planes, which is used by standard vga modes 2h and 3h. 76543210 reserved shift re g ister control odd/ even read mode reserved write mode serial out 1st xfer 2nd xfer 3rd xfer 4th xfer 5th xfer 6th xfer 7th xfer 8th xfer bit 3 plane 3 bit 7 plane 3 bit 6 plane 3 bit 5 plane 3 bit 4 plane 3 bit 3 plane 3 bit 2 plane 3 bit 1 plane 3 bit 0 bit 2 plane 2 bit 7 plane 2 bit 6 plane 2 bit 5 plane 2 bit 4 plane 2 bit 3 plane 2 bit 2 plane 2 bit 1 plane 2 bit 0 bit 1 plane 1 bit 7 plane 1 bit 6 plane 1 bit 5 plane 1 bit 4 plane 1 bit 3 plane 1 bit 2 plane 1 bit 1 plane 1 bit 0 bit 0 plane 0 bit 7 plane 0 bit 6 plane 0 bit 5 plane 0 bit 4 plane 0 bit 3 plane 0 bit 2 plane 0 bit 1 plane 0 bit 0 serial out 1st xfer 2nd xfer 3rd xfer 4th xfer 5th xfer 6th xfer 7th xfer 8th xfer bit 3 plane 2 bit 7 plane 2 bit 5 plane 2 bit 3 plane 2 bit 1 plane 3 bit 7 plane 3 bit 5 plane 3 bit 3 plane 3 bit 1 bit 2 plane 2 bit 6 plane 2 bit 4 plane 2 bit 2 plane 2 bit 0 plane 3 bit 6 plane 3 bit 4 plane 3 bit 2 plane 3 bit 0 bit 1 plane 0 bit 7 plane 0 bit 5 plane 0 bit 3 plane 0 bit 1 plane 1 bit 7 plane 1 bit 5 plane 1 bit 3 plane 1 bit 1 bit 0 plane 0 bit 6 plane 0 bit 4 plane 0 bit 2 plane 0 bit 0 plane 1 bit 6 plane 1 bit 4 plane 1 bit 2 plane 1 bit 0 .com .com .com .com .com 4 .com u datasheet
graphics controller registers 11-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 1, x: four bits of data at a time from parallel bytes in each of the 4 memory planes are transferred to the palette in a pattern that iterates per byte through memory planes 0 through 3. first the 4 most significant bits of a byte in memory plane 0 are transferred via the 4 serial output bits, followed by the 4 least significant bits of the same byte. next, the same transfers occur from the parallel byte in memory planes 1, 2 and lastly, 3. each transfer provides either the upper or lower half of an 8 bit value for the color for each pixel, making possible a choice of 1 of 256 colors per pixel. this pattern is meant to accommodate mode 13h, a standard vga 256-color graphics mode. 4 odd/even mode 0: addresses sequentially access data within a bit map. the choice of which map is accessed is made according to the value of the plane mask register (sr02). 1: the frame buffer is mapped so that address bit 0 is used to select between sets of planes such that even addresses select memory planes 0 and 2 and odd addresses select memory planes 1 and 3. note: this works in a way that is the inverse of (and is normally set to be the opposite of) bit 2 of the memory mode register (sr04). serial out 1st xfer 2nd xfer 3rd xfer 4th xfer 5th xfer 6th xfer 7th xfer 8th xfer bit 3 plane 0 bit 7 plane 0 bit 3 plane 1 bit 7 plane 1 bit 3 plane 2 bit 7 plane 2 bit 3 plane 3 bit 7 plane 3 bit 3 bit 2 plane 0 bit 6 plane 0 bit 2 plane 1 bit 6 plane 1 bit 2 plane 2 bit 6 plane 2 bit 2 plane 3 bit 6 plane 3 bit 2 bit 1 plane 0 bit 5 plane 0 bit 1 plane 1 bit 5 plane 1 bit 1 plane 2 bit 5 plane 2 bit 1 plane 3 bit 5 plane 3 bit 1 bit 0 plane 0 bit 4 plane 0 bit 0 plane 1 bit 4 plane 1 bit 0 plane 2 bit 4 plane 2 bit 0 plane 3 bit 4 plane 3 bit 0 .com .com .com .com .com 4 .com u datasheet
11-8 graphics controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 3 read mode 0: during a cpu read from the frame buffer, the value returned to the cpu is data from the memory plane selected by bits 1 and 0 of the read plane select register (gr04). 1: during a cpu read from the frame buffer, all 8 bits of the byte in each of the 4 memory planes corresponding to the address from which a cpu read access is being performed are compared to the corresponding bits in this register (if the corresponding bit in the color dont care register (gr07) is set to 1). the value that the cpu receives from the read access is an 8-bit value that shows the result of this comparison, wherein value of 1 in a given bit position indicates that all of the corresponding bits in the bytes across all 4 of the memory planes that were included in the comparison had the same value as their memory planes respective bits in this register. 2 reserved 1-0 write mode 0, 0: write mode 0 -- during a cpu write to the frame buffer, the addressed byte in each of the 4 memory planes is written with the cpu write data after it has been rotated by the number of counts specified in the data rotate register (gr03). if, however, the bit(s) in the enable set/reset register (gr01) corresponding to one or more of the memory planes is set to 1, then those memory planes will be written to with the data stored in the corresponding bits in the set/reset register (gr00). 0, 1: write mode 1 -- during a cpu write to the frame buffer, the addressed byte in each of the 4 memory planes is written to with the data stored in the memory read latches (the memory read latches stores an unaltered copy of the data last read from any location in the frame buffer). 1, 0: write mode 2 -- during a cpu write to the frame buffer, the least significant 4 data bits of the cpu write data are treated as the color value for the pixels in the addressed byte in all 4 memory planes. the 8 bits of the bit mask register (gr08) are used to selectively enable or disable the ability to write to the corresponding bit in each of the 4 memory planes that correspond to a given pixel. a setting of 0 in a bit in the bit mask register at a given bit position causes the bits in the corresponding bit positions in the addressed byte in all 4 memory planes to be written with value of their counterparts in the memory read latches. a setting of 1 in a bit mask register at a given bit position causes the bits in the corresponding bit positions in the addressed byte in all 4 memory planes to be written with the 4 bits taken from the cpu write data to thereby cause the pixel corresponding to these bits to be set to the color value. 1, 1: write mode 3 -- during a cpu write to the frame buffer, the cpu write data is logically anded with the contents of the bit mask register (gr08). the result of this anding is treated as the bit mask used in writing the contents of the set/reset register (gr00) are written to addressed byte in all 4 memory planes. .com .com .com .com .com 4 .com u datasheet
graphics controller registers 11-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 gr06 miscellaneous register read/write at i/o address 3cfh with index at address 3ceh set to 06h 7-4 reserved 3-2 memor y map mode these 2 bits control the mapping of the frame buffer into the cpu address space as follows: note: this function is both in standard vga modes and in extended modes that do not provide linear frame buffer access. 1 chain odd/even this bit provides the ability to alter the interpretation of address bit a0, so that it may be used in selecting between the odd-numbered memory planes (planes 1 and 3) and the even-numbered memory planes (planes 0 and 2). 0: a0 functions normally. 1: a0 is switched with a high order address bit, in terms of how it is used in address decoding. the result is that a0 is used to determine which memory plane is being accessed: a0 = 0: planes 0 and 2 a0 = 1: planes 1 and 3 0 graphics/text mode 0: selects text mode. 1: selects graphics mode. 76543210 reserved memory map mode chain odd/ even graphics / text mode bits 3 2 frame buffer address range 0 0 a0000h - bffffh 0 1 a0000h - affffh 1 0 b0000h - b7fffh 1 1 b8000h - bffffh .com .com .com .com .com 4 .com u datasheet
11-10 graphics controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 gr07 color dont care register read/write at i/o address 3cfh with index at address 3ceh set to 07h 7-4 reserved 3-0 i g nore color plane 3 throu g h i g nore color plane 0 0: the corresponding bit in the color compare register (gr02) will not be included in color comparisons. 1: the corresponding bit in the color compare register (gr02) is used in color comparisons. note: these bits have effect only when bit 3 of the graphics mode register (gr05) is set to 1 to select read mode 1. gr08 bit mask register read/write at i/o address 3cfh with index at address 3ceh set to 08h 7-0 bit mask 0: the corresponding bit in each of the 4 memory planes is written to with the corresponding bit in the memory read latches. 1: manipulation of the corresponding bit in each of the 4 memory planes via other mechanisms is enabled. note: this bit mask applies to any writes to the addressed byte of any or all of the 4 memory planes simultaneously. note: this bit mask is applicable to any data written into the frame buffer by the cpu, including data that is also subject to rotation, logical functions (and, or, xor), and set/reset. to perform a proper read-modify-write cycle into the frame buffer, each byte must first be read from the frame buffer by the cpu (and this will cause it to be stored in the memory read latches), this bit mask register must be set and the new data then written into the frame buffer by the cpu. 76543210 reserved i g nore color plane 3 i g nore color plane 2 i g nore color plane 1 i g nore color plane 0 76543210 bit mask .com .com .com .com .com 4 .com u datasheet
attribute controller registers 12-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 12 attribute controller registers unlike the other sets of indexed registers, the attribute controller registers are not accessed through a scheme employing entirely separate index and data ports. i/o address 3c0h is used both as the read and write for the index register, and as the write address for the data port. i/o address 3c1h is the read address for the data port. to write to one of the attribute controller registers, the index of the desired register must be written to i/o address 3c0h and then the data is written to the very same i/o address. a flip-flop alternates with each write to i/o address 3c0h to change its function from writing the index to writing the actual data and back again. this flip-flop may be deliberately set so that i/o address 3c0h is set to write to the index (which provides a way to set it to a known state) by performing a read operation from input status register 1 (st01) at i/o address 3bah or 3dah (depending on whether the graphics system has been set to emulate an mda or a cga). to read from one of the attribute controller registers, the index of the desired register must be written to i/o address 3c0h and then the data is read from i/o address 3c1h. a read operation from i/o address 3c1h does not reset the flip-flop to writing to the index. only a write to 3c0h or a read from 3bah or 3dah, as described above, will toggle the flip-flop back to writing to the index. name function access index ar00-ar0f color data re g isters read/write 00-0f ar10 mode control re g ister read/write 10 ar11 overscan color re g ister read/write 11 ar12 memory plane enable re g ister read/write 12 ar13 horizontal pixel pannin g re g ister read/write 13 ar14 color select re g ister read/write 14 .com .com .com .com .com 4 .com u datasheet
12-2 attribute controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 arx attribute controller index register read/write at i/o address 3c0h note: ar12 is referred to in the vga standard as the color plane enable register. the words plane, color plane, display memory plane, and memory map have been all been used in ibm ? literature on the vga standard to describe the four separate regions in the frame buffer where the pixel color or attribute information is split up and stored in standard vga planar modes. this use of multiple terms for the same subject was deemed to be confusing, therefore ar12 is called the memory plane enable register. 7-6 reserved 5 video enable 0: disables video, allowing the attribute controller color registers (ar00-ar0f) to be accessed by the cpu. 1: enables video, causing the attribute controller color registers (ar00-ar0f) to be rendered inaccessible by the cpu. note: in the vga standard, this is called the palette address source bit. 4-0 attribute controller re g ister index these five bits are used to select any one of the attribute controller registers, ar00 through ar14, to be accessed. ar00-ar0f palette registers 0-f read at i/o address 3c1h, write at i/o address 3c0h with index at address 3c0h set to 00h to 0fh note: bits 3 and 2 of the color select register (ar14) supply bits p7 and p6 for the values contained in all 16 of these registers. bits 1 and 0 of the color select register (ar14) can also replace bits p5 and p4 for the values contained in all 16 of these registers if bit 7 of the mode control register (ar10) is set to 1. 7-6 reserved 5-0 palette bits p5-p0 in each of these 16 registers, these are the lower 6 of 8 bits that are used to map either text attributes or pixel color input values (for modes that use 16 colors) to the 256 possible colors available to be selected in the palette. 76543210 reserved video enable attribute controller re g ister index 76543210 reserved palette bits p5-p0 .com .com .com .com .com 4 .com u datasheet
attribute controller registers 12-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 ar10 mode control register read at i/o address 3c1h, write at i/o address 3c0h with index at address 3c0h set to 10h 7 palette bits p5, p4 select 0: p5 and p4 for each of the 16 selected colors (for modes that use 16 colors) are individually provided by bits 5 and 4 of their corresponding palette registers (ar00-0f). 1: p5 and p4 for all 16 of the selected colors (for modes that use 16 colors) are provided by bits 1 and 0 of color select register (ar14). 6 pixel width/clock select 0: six bits of video data (translated from 4 bits via the palette) are output every dot clock. 1: two sets of 4 bits of data are assembled to generate 8 bits of video data which is output every other dot clock, and the palette registers (ar00-0f) are bypassed. note: this bit is set to 0 for all of the standard vga modes, except mode 13h. 5 pixel pannin g compatibilit y 0: scroll both the upper and lower screen regions horizontally as specified in the horizontal pixel panning register (ar13). 1: scroll only the upper screen region horizontally as specified in the horizontal pixel panning register (ar13). note: this bit has application only when split-screen mode is being used, where the display area is divided into distinct upper and lower regions which function somewhat like separate displays. 4 reserved 3 enable blinkin g /select back g round intensit y 0: disables blinking in graphics modes and, in text modes, sets bit 7 of the character attribute bytes to control background intensity, instead of blinking. 1: enables blinking in graphics modes and, in text modes, sets bit 7 of the character attribute bytes to control blinking, instead of background intensity. note: the blinking rate is derived by dividing the vsync signal. the blink rate control register (fr19) defines the blinking rate. 76543210 palette bits p5, p4 select pixel width/ clk select pixel pannin g compat reserved en blink/ select bk g nd int en line gr char code select display type graphics/ alpha mode .com .com .com .com .com 4 .com u datasheet
12-4 attribute controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 2 enable line graphics character code 0: every 9th pixel of a horizontal line (i.e., the last pixel of each horizontal line of each 9- pixel wide character box) is assigned the same attributes as the background of the character of which the given pixel is a part. 1: every 9th pixel of a horizontal line (i.e., the last pixel of each horizontal line of each 9- pixel wide character box) is assigned the same attributes as the 8th pixel if the character of which the given pixel is a part. this setting is intended to accommodate the line-drawing characters of the pcs extended ascii character set -- characters with an extended ascii code in the range of b0h to dfh. note: in ibm ? literature describing the vga standard, the range of extended ascii codes that are said to include the line-drawing characters is mistakenly specified as c0h to dfh, rather than the correct range of b0h to dfh. 1 select display type 0: attribute bytes in text modes are interpreted as they would be for a color display. 1: attribute bytes in text modes are interpreted as they would be for a monochrome display. 0 graphics/alphanumeric mode 0: selects alphanumeric (text) mode. 1: selects graphics mode. ar11 overscan color register read at i/o address 3c1h, write at i/o address 3c0h with index at address 3c0h set to 11h 7-0 overscan these 8 bits select the overscan (border) color. the border color is displayed during the blanking intervals. for monochrome displays, this value should be set to 00h. 76543210 overscan color .com .com .com .com .com 4 .com u datasheet
attribute controller registers 12-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 ar12 memory plane enable register read at i/o address 3c1h, write at i/o address 3c0h with index at address 3c0h set to 12h note: ar12 is referred to in the vga standard as the color plane enable register. the words plane, color plane, display memory plane, and memory map have been all been used in ibm ? literature on the vga standard to describe the 4 separate regions in the frame buffer that are amongst which pixel color or attributes information is split up and stored in standard vga planar modes. this use of multiple terms for the same subject was deemed to be confusing, therefore ar12 is called the memory plane enable register. 7-6 reserved 5-4 video status mux these 2 bits are used to select 2 of the 8 possible palette bits (p7-p0) to be made available to be read via bits 5 and 4 of the input status register 1 (st01). the table below shows the possible choices. note: these bits are largely unused by current software. they are provided for ega compatibility. 3-0 enable plane 3-0 these 4 bits individually enable the use of each of the 4 memory planes in providing 1 of the 4 bits used in video output to select 1 of 16 possible colors from the palette to be displayed. 0: disables the use of the corresponding memory plane in video output to select colors, forcing the bit that the corresponding memory plane would have provided to a value of 0. 1: enables the use of the corresponding memory plane in video output to select colors. 76543210 reserved video status mux enable plane 3 enable plane 2 enable plane 1 enable plane 0 ar12 bit 5 4 st01 bit 5 4 0 0 p2 p0 0 1 p5 p4 1 0 p3 p1 1 1 p7 p6 .com .com .com .com .com 4 .com u datasheet
12-6 attribute controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 ar13 horizontal pixel panning register read at i/o address 3c1h, write at i/o address 3c0h with index at address 3c0h set to 13h 7-4 reserved 3-0 horizontal pixel shift bits 3-0 of this register hold a 4-bit value that selects number of pixels by which the image is shifted horizontally to the left. this function is available in both text and graphics modes. in text modes with a 9-pixel wide character box, the image can be shifted up to 8 pixels to the left. in text modes with an 8-pixel wide character box, and in graphics modes other than those with 256 colors, the image can be shifted up to 7 pixels to the left. in standard vga mode 13h (where bit 6 of the mode control register, ar10, is set to 1 to support 256 colors), bit 0 of this register must remain set to 0, and the image may be shifted up to only 3 pixels to the left. in this mode, the number of pixels by which the image is shifted can be further controlled using bits 6 and 5 of the preset row scan register (cr08). 76543210 reserved horizontal pixel shift number of pixels shifted value in bits 3-0 9 pixel text 8-pixel text & graphics 256-color graphics 0h100 1h 2 1 undefined 2h321 3h 4 3 undefined 4h542 5h 6 5 undefined 6h763 7h 8 7 undefined 8h 0 undefined undefined .com .com .com .com .com 4 .com u datasheet
attribute controller registers 12-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 ar14 color select register read at i/o address 3c1h, write at i/o address 3c0h with index at address 3c0h set to 14h 7-4 reserved 3-2 palette bits p7 and p6 these are the 2 upper-most of the 8 bits that are used to map either text attributes or pixel color input values (for modes that use 16 colors) to the 256 possible colors contained in the palette. these 2 bits are common to all 16 sets of bits p5 through p0 that are individually supplied by palette registers 0-f (ar00-ar0f). 1-0 alternate palette bits p5 and p4 these 2 bits can be used as an alternate version of palette bits p5 and p4. unlike the p5 and p4 bits that are individually supplied by palette registers 0-f (ar00-ar0f), these 2 alternate palette bits are common to all 16 of palette registers. bit 7 of the mode control register (ar10) is used to select between the use of either the p5 and p4 bits that are individually supplied by the 16 palette registers or these 2 alternate palette bits. 76543210 reserved p7 p6 alt p5 alt p4 .com .com .com .com .com 4 .com u datasheet
12-8 attribute controller registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
palette registers 13-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 13 palette registers background: the original vga graphics system and earlier compatible ones had a distinct ic called either the ramdac or the palette dac. the ramdac was made up of two main components: a 256x24bit color lookup table (clut) or palette in which a selection of 256 colors may be stored and a set of three digital-to-analog converters (dacs), one each for the red, green and blue components used to produce a color on a crt display. despite the integration of both the palette and the triplet of dacs into larger ics in many present day graphics systems, the terms ramdac and palette dac remain in common use. however, this integration of both the palette and dacs into the graphics controller makes the use of such terms as ramdac and palette dac erroneous, especially in the case of this graphics controller. this graphics controller has two outputs: the dacs which are normally used to drive a crt display, and a flat- panel interface that is normally used to drive lcd or other types of flat panel displays. either one or both of these outputs may be used at any given time and the pixel data sent to one or both of these outputs may or may not be routed through the palette. in short, the palette and dacs of this graphics controller can be used entirely independently of each other and for this reason, these registers have been renamed in a manner more in keeping with their actual purpose (e.g., the original vga standard name of dacstate has been replaced with palstate). color depths and the palette whether or not the palette is used depends entirely on the color depth to which the graphics system has been set via bits 3-0 of xr81. the palette is not used for modes with color depths greater than 8 bits per pixel. the data stored in the frame buffer is the actual color data, not an index. the appropriate bits describing the intensities of the red, green and blue components are retrieved from the frame buffer and routed to whichever output is being used. the palette is entirely bypassed, and so these are referred to as direct-color modes. the palette is used for modes with color depths of 8 bits per pixel or less. the color data stored in the frame buffer and received by the palette is actually an index that selects a location within the palette in which the components of a color is specified. the 3-bytes of the selected color are sent from the palette to whichever output (crt or flat panel or both) is being used. due to this use of an index into a palette, these modes are referred to as indexed modes. the use of indexed modes allows the main display image to take up less space in the frame buffer and allows the actual displayed colors to be specified independently. the latter feature has been known to be used in such applications as video games. name function access i/o address palmask palette data mask re g ister read/write 3c6h palstate palette state re g ister read-only 3c7h palrx palette read index re g ister write-only 3c7h palwx palette write index re g ister read/write 3c8h paldata palette data re g ister read/write 3c9h .com .com .com .com .com 4 .com u datasheet
13-2 palette registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 accessing color data locations within the palette a complex sub-indexing scheme using separate read and write access indices and a data port is used to access both the standard and alternate palette locations within the palette where color data is stored. the palette read index register is used to select the palette location to be read from via the the palette data register, while the palette write index register is used to select the palette location to be written to. this arrangement allows the same data port to be used for reading from and writing to two different palette locations. to read a palette location, the index of the desired palette location must first be written to the palette read index register. then all three bytes of data in that palette location may be read, one at a time, via the palette data register. the first byte read from the palette data register retrieves the 8-bit value specifying the intensity of the red color component while the second and third byte reads are for the green and blue color components, respectively. after completing the third read operation, the palette read index register is automatically incremented so that the data of the next palette location becomes accessible for being read. this allows the contents of all 256 palette locations to be read by specifying only the index of the 0th location in the palette read index register, and then simply performing 768 successive reads from the palette data register. writing palette locations entails a very similar procedure. the index of the desired palette location must first be written to the palette write index register. then all three bytes of data to specify a given color may be written, one at a time, to the selected palette location via the palette data register. the first byte written to the palette data register specifies the intensity of the red color component, while the second and third byte writes are for the green and blue color components, respectively. one important detail is that all three of these bytes must be written before the hardware will actually update these three values in the selected palette location. when all three bytes have been written, the palette write index register is automatically incremented so that the next palette location becomes accessible for being written. this allows the contents of all 256 palette locations to be written by specifying only the index of the 0th palette location in the palette write index register, and then simply performing 768 successive writes to the palette data register. in addition to the standard set of 256 palette locations, there is also an alternate set of 8 palette locations used to specify the colors used to draw cursors 1 and 2, and these are also accessed using the very same sub-indexing scheme. bit 0 of the pixel pipeline configuration 0 register (xr80) determines whether the standard 256 palette locations or the alternate 8 palette locations are to be accessed. .com .com .com .com .com 4 .com u datasheet
palette registers 13-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 palmask palette data mask register read/write at i/o address 3c6h 7-0 pixel data mask in indexed-color mode, the 8 bits of this register are logically anded with the 8 bits of pixel data received from the frame buffer for each pixel. the result of this anding process becomes the actual index used to select locations within the palette. this has the effect of limiting the choice of palette locations that may be specified by the incoming 8-bit data. in direct-color mode, the palette is not used, and the data in this register is entirely ignored. palstate palette state register read-only at i/o address 3c7h 7-2 reserved 1-0 palette state these 2 bits indicate which of the palette two index registers was most recently written to. 76543210 pixel data mask 76543210 reserved dac state bit 1 0 palette index register last written to 0 0 palette write index re g ister (palwx) at i/o address 3c8h 0 1 reserved 1 0 reserved 1 1 palette read index re g ister (palrx) at i/o address 3c7h .com .com .com .com .com 4 .com u datasheet
13-4 palette registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 palrx palette read index register write-only at i/o address 3c7h 7-0 palette read index this 8-bit value is an index that selects 1 of the 256 standard locations within the palette (or 1 of 8 alternate locations specifically for hardware cursor and popup colors, depending on the setting of bit 0 of xr80) to be read from via the palette data register (paldata). the index value held in this register is automatically incremented when all three bytes of the color data position selected by the current index have been read. palwx palette write index register read/write at i/o address 3c8 7-0 palette write index this 8-bit value is an index that selects 1 of the 256 standard locations within the palette (or 1 of 8 alternate locations specifically for hardware cursor and popup colors, depending on the setting of bit 0 of xr80) to be written to via the palette data register (paldata). the index value held in this register is automatically incremented when all three bytes of the color data position selected by the current index have been written. 76543210 palette read index 76543210 palette write index .com .com .com .com .com 4 .com u datasheet
palette registers 13-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 paldata palette data register read/write at i/o address 3c9h 7-0 palette data re g ister this byte-wide data port provides read or write access to the three bytes of data carried by palette location selected using the palette read index register (palrx) or the palette write index register (palwx). the three bytes in each palette location are written to or read from by making three successive read or write operations. the first byte read or written always specifies the intensity of the red component of the color specified in the selected palette location. the second byte is always for the green component and the third byte is always for the blue component. when writing data to a palette location, all three bytes must be written before the hardware will actually update the three bytes in that palette location. when reading or writing to a palette location, it is important to ensure that neither the palette read index register (palrx) or the palette write index register (palwx) are written to before all three bytes are read or written. the logic that automatically cycles through providing access to the bytes for the red, green and blue color components is reset to start again with the red component after writing to either palrx or palwx. 76543210 palette data .com .com .com .com .com 4 .com u datasheet
13-6 palette registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
extension registers 14-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 14 extension registers name register function access via port 3d7 index value port 3d6 (xrx) xr00 vendor id low re g ister read-only 00h xr01 vendor id hi g h re g ister read-only 01h xr02 device id low re g ister read-only 02h xr03 device id hi g h re g ister read-only 03h xr04 revision id re g ister read-only 04h xr05 linear base address low re g ister read-only 05h xr06 linear base address hi g h re g ister read-only 06h xr08 host bus confi g uration re g ister read-only 08h xr09 i/o control re g ister read/write 09h xr0a frame buffer mappin g re g ister read/write 0ah xr0b pci burst write support re g ister read/write 0bh xr0e frame buffer pa g e select re g ister read/write 0eh xr20 bitblt confi g uration re g ister read/write 20h xr40 memory access control re g ister read/write 40h xr41-xr4f memory confi g uration re g isters read/write 41h-4fh xr60 video pin control re g ister read/write 60h xr61 dpms sync control re g ister read/write 61h xr62 gpio pin control re g ister read/write 62h xr63 gpio pin data re g ister read/write 63h xr67 pin tri-state control re g ister read/write 67h xr70 confi g uration pins 0 re g ister read-only 70h xr71 confi g uration pins 1 re g ister read-only 71h xr80 pixel pipeline confi g uration 0 re g ister read/write 80h xr81 pixel pipeline confi g uration 1 re g ister read/write 81h xr82 pixel pipeline confi g uration 2 re g ister read/write 82h .com .com .com .com .com 4 .com u datasheet
14-2 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 name register function access via port 3d7 index value port 3d6 (xrx) xra0 cursor 1 control re g ister read/write a0h xra1 cursor 1 vertical extension re g ister read/write a1h xra2 cursor 1 base address low re g ister read/write a2h xra3 cursor 1 base address hi g h re g ister read/write a3h xra4 cursor 1 x-position low re g ister read/write a4h xra5 cursor 1 x-position hi g h re g ister read/write a5h xra6 cursor 1 y-position low re g ister read/write a6h xra7 cursor 1 y-position hi g h re g ister read/write a7h xra8 cursor 2 control re g ister read/write a8h xra9 cursor 2 vertical extension re g ister read/write a9h xraa cursor 2 base address low re g ister read/write aah xrab cursor 2 base address hi g h re g ister read/write abh xrac cursor 2 x-position low re g ister read/write ach xrad cursor 2 x-position hi g h re g ister read/write adh xrae cursor 2 y-position low re g ister read/write aeh xraf cursor 2 y-position hi g h re g ister read/write afh xrc0 dot clock 0 vco m-divisor low re g ister read/write c0h xrc1 dot clock 0 vco n-divisor low re g ister read/write c1h xrc3 dot clock 0 divisor select re g ister read/write c3h xrc4 dot clock 1 vco m-divisor low re g ister read/write c4h xrc5 dot clock 1 vco n-divisor low re g ister read/write c5h xrc7 dot clock 1 divisor select re g ister read/write c7h xrc8 dot clock 2 vco m-divisor low re g ister read/write c8h xrc9 dot clock 2 vco n-divisor low re g ister read/write c9h xrcb dot clock 2 divisor select re g ister read/write cbh xrcc memory clock vco m-divisor re g ister read/write cch xrcd memory clock vco n-divisor re g ister read/write cdh xrce memory clock vco divisor select re g ister read/write ceh xrcf clock confi g uration re g ister read/write cfh xrd0 powerdown control re g ister read/write d0h xrd1 power conservation control re g ister read/write d1h xrd2 2khz down counter re g ister read-only d2h xre0-xreb software fla g re g isters 0 to b read/write e0h-ebh xrf8-xrfc test re g isters read/write f8h-fch .com .com .com .com .com 4 .com u datasheet
extension registers 14-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrx extension register index register read/write at i/o address 3d6h this register is cleared to 00h by reset. 7-0 extension re g ister index these 8 bits are used to select any one of the extension registers to be accessed via the data port at i/o location 3d7h. xr00 vendor id low register read-only at i/o address 3d7h with index at i/o address 3d6h set to 00h 7-0 vendor id bits 7-0 these 8 bits always carry the value 2ch. this is the lower byte of chips vendor id for pci devices. both bytes of this id are also readable from the vendor id register at offset 00h in the pci configuration space. 76543210 extension re g ister index (0000:0000) 76543210 vendor id bits 7-0 (2ch) .com .com .com .com .com 4 .com u datasheet
14-4 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr01 vendor id high register read-only at i/o address 3d7h with index at i/o address 3d6h set to 01h 7-0 vendor id bits 15-8 these 8 bits always carry the value 10h. this is the upper byte of chips vendor id for pci devices. both bytes of this id are also readable from the vendor id register at offset 00h in the pci configuration space. xr02 device id low register read-only at i/o address 3d7h with index at i/o address 3d6h set to 02h 7-0 device id bits 7-0 these bits always carry the value c0h. this is the lower byte of chips 69000s device id as these bits always carry the value e5h. this is the lower byte of the 69000s device id as a pci device. both bytes of this id are also readable from the device id register at offset 02h in the pci configuration space. 76543210 vendor id bits 15-8 (10h) 76543210 device id bits 7-0 ( c0h ) .com .com .com .com .com 4 .com u datasheet
extension registers 14-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr03 device id high register read-only at i/o address 3d7h with index at i/o address 3d6h set to 03h 7-0 device id hi g h these bits always carry the value 00h. this is the upper byte of chips 69000s device id as these bits always carry the value 00h. this is the upper byte of the 69000s device id as a pci device. both bytes of this id are also readable from the device id register at offset 02h in the pci configuration space. xr04 revision id register read-only at i/o address 3d7h with index at i/o address 3d6h set to 04h note: this register is identical to the revision register (rev) at offset 08h in the pci configuration space. note: the default value of this register is 62h. 7-4 chip manufacturin g code these four bits carry the fabrication code. 3-0 chip revision code these four bits carry the revision code. revision codes start at 0 and are incremented for each new silicon revision. 76543210 device id hi g h (00h) 76543210 chip manufacturin g code (xxxx) chip revision code (xxxx) .com .com .com .com .com 4 .com u datasheet
14-6 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr05 linear base address low register read-only at i/o address 3d7h with index at i/o address 3d6h set to 05h 7memor y space base address bit 23 this bit is provided only for backward compatibility only. it is a hold-over from earlier chips graphics controllers. the graphics controller requires a 16mb memory space on the host bus through which the linear frame buffer and memory-mapped registers are accessed. this 16mb memory space always begins on a 16mb address boundary, so bit 23 of the linear base address of this 16mb memory space always has the value of 0. therefore this bit always returns the value of 0 when read. this base address is set through the mbase register at offset 10h in the pci configuration space. 6-0 reserved these bits always return the value of 0 when read. xr06 linear base address high register read-only at i/o address 3d7h with index at i/o address 3d6h set to 06h 7-0 memor y space base address bits 31-24 the graphics controller requires a 16mb memory space on the host bus through which the linear frame buffer and memory-mapped registers are accessed. these 8 bits provide read-only access to bits 31-24, the 8 most significant bits of the linear base address at which the 16mb memory space begins. this base address is set through the mbase register at offset 10h in the pci configuration space. 76543210 mem space base bit 23 (0) reserved (000:0000) 76543210 memory space base address bits 31-24 (xxxx:xxxx) .com .com .com .com .com 4 .com u datasheet
extension registers 14-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr08 host bus configuration register read-only at i/o address 3d7h with index at i/o address 3d6h set to 08h 7-2 reserved these bits always return the value of 0 when read. 1 pci vga address decode enable this bit reflects the state of memory interface address pin cfg1 during reset. 0: indicates that vga i/o address decoding is disabled on the pci bus, so access to the registers via i/o read and write operations is disabled. 1: indicates that vga i/o address decoding is enabled on the pci bus, so access to the registers via i/o read and write operations is enabled. note: the reset state of this pin is also readable via bit 1 of the configuration pins 0 register (xr70). 0 reserved this bit always returns the value of 0 when read. 76543210 reserved (0000:00) pci vga addr dec (x) reserved (0) .com .com .com .com .com 4 .com u datasheet
14-8 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr09 i/o control register read-only at i/o address 3d7h with index at i/o address 3d6h set to 09h 7-2 reserved these bits always return the value of 0 when read. 1 attribute controller extensions enable 0: allow the sub-addressing scheme used to access the attribute controller registers to remain unchanged from the vga standard. this is the default after reset. 1: alter attribute controller sub-addressing scheme used to access the attribute controller registers so that i/o address 3c0h is used solely as the index register and i/o address 3c1h is used as the data port for both read and write operations. 0 crt controller extensions enable 0: use only the crt controller registers defined in the vga standard to extend the number of bits used to specify the timing, resolution and addressing parameters to beyond eight bits. this is the default after reset. 1: use only the additional chips crt controller registers to extend the number of bits used to specify the timing, resolution and addressing parameters to beyond eight bits. 76543210 reserved (0000:00) attr ctrl ext enable (0) crt ctrl ext enable (0) .com .com .com .com .com 4 .com u datasheet
extension registers 14-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr0a frame buffer mapping register read/write at i/o address 3d7h with index at i/o address 3d6h set to 0ah 7-6 reserved these bits always return the value of 0 when read. 5-4 endian b y te swappin g control these 2 bits enable and select the type of byte-swapping performed on all word and doubleword data written to and read from the graphics controller by the cpu as follows: 3 reserved this bit always returns the value of 0 when read. 76543210 reserved (00) endian byte swappin g control (00) reserved (0) planar to non x-late (0) linear mappin g (0) pa g ed mappin g (0) bits 5 4 type of endian byte swapping 0 0 no byte swappin g . this is the default after reset. 0 1 performs byte swappin g wherein byte 0 is swapped with byte 1 and byte 2 is swapped with byte 3. 1 0 performs byte swappin g wherein byte 0 is swapped with byte 3 and byte 1 is swapped with byte 2. 1 1 reserved .com .com .com .com .com 4 .com u datasheet
14-10 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 2 planar to non-planar address translation enable this bit provides a single-bit switch that can be used to alter the manner in which the frame buffer memory appears from the perspective of the host bus to be organized so that it looks as though the bits for each pixel are organized sequentially rather than in planes, even though it may well still be organized in planes. this is done through a hardware-based address translation scheme. the result is intended to be very similar to setting the frame buffer memory to chain-4 mode using the graphics controller registers. this switch is meant to be turned on occasionally as a convenience to programmers when the graphics controller is being used in standard vga modes, in order to allow a given drawing operation or frame buffer save or restore operation to be carried out more easily. altering this bit has no effect on the settings in the graphics controller registers (the grxx series registers) that are normally used to specify the way in which the frame buffer memory is organized. it is recommended, however, that bits 3 and 2 of the miscellaneous register (gr06) be set so that the frame buffer memory is accessible using the a0000-affff memory space during the time that this feature is used. 0: disables address translation in support of packed mode. this is the default after reset. 1: enables address translation in support of packed mode. 1 frame buffer linear mapping enable 0: disables the linear mapping of the frame buffer. 1: enables the linear mapping of the frame buffer. 0 frame buffer page mapping enable 0: disables the mapping of the frame buffer in 64kb pages into the a0000h-affffh memory address space. 1: enables the mapping of the frame buffer in 64kb pages into the a0000h-affffh memory address space. note: the selection of which 64kb page is to be mapped into memory addresses a0000h-affffh is made using bits 6-0 of the frame buffer page selector register (xr0e). .com .com .com .com .com 4 .com u datasheet
extension registers 14-11 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr0b pci burst write support register read/write at i/o address 3d7h with index at i/o address 3d6h set to 0bh 7-4 reserved these bits always return the value of 0 when read. 3 font expansion pci burst write buffer depth 0: the buffer used to receive pci burst writes is always 4 or 8 doublewords deep as selected by bit 2 of this register, regardless of whether or not font expansion is being used. this is the default after a reset. 1: the buffer used to receive pci burst writes is limited to being 1 doubleword deep when the font expansion feature is being used. 2 pci burst write buffer depth 0: the buffer used to receive pci burst writes is set to be 8 doublewords deep. 1: the buffer used to receive pci burst writes is set to be 4 doublewords deep. note: the use of this bit to choose the depth of the pci burst write buffer can be overridden by bit 3 of this register. 1 reserved this bit always returns the value of 0 when read. 0 pci burst write support enable 0: disables support for receiving pci burst write cycles. 1: enables support for receiving pci burst write cycles. 76543210 reserved (0000) font exp burst write depth (0) pci burst write depth (0) reserved (0) burst write enable (0) .com .com .com .com .com 4 .com u datasheet
14-12 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr0e frame buffer page select register read/write at i/o address 3d7h with index at i/o address 3d6h set to 0eh : 7 reserved this bit always returns the value of 0 when read. 6-0 pa g e select these seven bits select which 64kb page of the frame buffer is to be mapped into the a0000h- affffh memory address space. note: bit 0 of the address mapping register (xr0a) must be set to 1 to enable this mapping feature. 76543210 reserved (0) pa g e select (000:0000) .com .com .com .com .com 4 .com u datasheet
extension registers 14-13 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr20 bitblt configuration register read/write at i/o address 3d7h with index at i/o address 3d6h set to 20h 7-6 reserved these bits always have the value of 0 when read. 5-4 bitblt en g ine color depth when bit 23 of the bitblt control register (br04) is set to 0, these two bits configure the bitblt engine for one of three possible color depths. if bit 23 of the bitblt control register (br04) is set to 1, then this function is performed by bits 25 and 24 of that same register. it is strongly recommended that the color depth of the bitblt engine be set to match the color depth to which the graphics system has been set whenever possible. the choice of color depth configures the bitblt engine to work with one, two or three bytes per pixel. this directly affects the number of bytes of graphics data that the bitblt engine will read and write for a given number of pixels. in the case of monochrome source or pattern data, this setting directly affects the color depth into which such monochrome data will be converted during the color expansion process. if the graphics system has been set to a color depth that is not supported by the bitblt engine, then it is strongly recommended that the bitblt engine not be used. see appendix b for more information. 3-2 reserved (writable) these bits should always be written to with the value of 0. 1 bitblt reset 0: writing a value of 0 to this bit permits normal operation of the bitblt engine. this is the default value after reset. 1: writing a value of 1 to this bit resets the bitblt engine. 0bitblt en g ine status 0: indicates that the bitblt engine is idle. this is the default after reset. 1: indicates that the bitblt engine is busy. 76543210 reserved (00) bitblt en g ine color depth (00) reserved (writable) (00) bitblt reset (0) bitblt status (0) bits 5 4 bitblt engine color depth selected 0 0 8 bits per pixel (1 byte per pixel) -- this is the default after reset. 0 1 16 bits per pixel (2 bytes per pixel) 1 0 24 bits per pixel (3 bytes per pixel) 1 1 reserved .com .com .com .com .com 4 .com u datasheet
14-14 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr40 memory access control register read/write at i/o address 3d7h with index at i/o address 3d6h set to 40h 7-2 reserved (writable) these bits should always be set to the value of 0. 1 address wrap 0: only bits 0 through 17 of the memory address decode are used, causing the memory address to wrap at 256k for all memory accesses either through the vga porthole or linearly. 1: all memory address bits are used, allowing access to all of the graphics memory. 0memor y access width 0: selects the use of 16-bit accesses to memory to accommodate the standard vga modes and extended resolution modes with 4-bit color. this is the default after reset. 1: selects the use of 64-bit accesses to memory to accommodate high resolution modes. xr41-xr4f memory configuration registers read/write at i/o address 3d7h with index at i/o address 3d6h set to 41h to 4fh 7-0 memor y confi g uration bits the bits in each of these registers provide various ways to configure various aspects of the frame buffer. each of these registers defaults to a particular setting, and some of these settings are non-zero. these default settings should never be changed. 76543210 reserved (writable) (0000:00) address wrap (0) memory access (0) 76543210 memory confi g uration bits (xxxx:xxxx) .com .com .com .com .com 4 .com u datasheet
extension registers 14-15 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr60 video pin control register read/write at i/o address 3d7h with index at i/o address 3d6h set to 60h 7 reserved this bit always returns the value of 0 when read. 6 video data port pclk pin source 0: selects the dclk signal as the source. this is the default after reset. 1: selects the dclk signal, divided by 2, as the source. 5-2 reserved these bits always return the value of 0 when read. 1-0 video data port confi g uration 00: disables the video data port feature. 01: enables the video data port and configures it to be used to support a standard vga interface. 10: reserved 11: enables the video data port and configures it to be used to support a zv-type feature connector. 76543210 reserved (0) pclk pin source (0) reserved (00:00) video data port confi g uration (00) .com .com .com .com .com 4 .com u datasheet
14-16 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr61 dpms sync control register read/write at i/o address 3d7h with index at i/o address 3d6h set to 61h 7 reserved this bit always has the value of 0 when read. 6 dpms vsync output select 2 0: the value carried by bit 2 of this register is output on the vsync pin. this is the default after reset. 1: the internal power sequencing clock is output on the vsync pin. 5 dpms hsync output select 2 0: the value carried by bit 0 of this register is output on the hsync pin. this is the default after reset. 1: the internal power sequencing clock is output on the hsync pin. 4 dpms hsync/vsync state control 0: hsync and vsync pins are tri-stated during standby or panel-off modes. this is the default after reset. 1: hsync and vsync pins are driven during standby or panel-off modes with whatever data or signals that are selected by the other bits in this register. 3 dpms vsync output select 1 0: the vsync signal is output on the vsync pin. this is the default after reset. 1: bit 6 of this register is used to select what is output on the vsync pin. 2 dpms vsync output data the value to which this bit is set is output on the vsync pin if bits 6 and 3 of this register are set to 0 and 1, respectively. 1 dpms hsync output select 1 0: the hsync signal is output on the hsync pin. this is the default after reset. 1: bit 5 of this register is used to select what is output on the hsync pin. 0 dpms hsync output data the value to which this bit is set is output on the hsync pin if bits 5 and 1 of this register are set to 0 and 1, respectively. 76543210 reserved (0) dpms vsync (0) dpms hsync (0) dpms state control (0) dpms vsync sel (0) dpms vsync data (0) dpms hsync sel (0) dpms hsync data (0) .com .com .com .com .com 4 .com u datasheet
extension registers 14-17 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr62 gpio pin control register read/write at i/o address 3d7h with index at i/o address 3d6h set to 62h note: see the fp pin control 2 register (fr0c) for direction control of gpio0 and gpio1. 7 gpio7 direction control 0: gpio7 acts as an input. this is the default after reset. 1: gpio7 acts as an output. 6-5 reserved these bits always return the value of 0 when read. 4 gpio4 direction control 0: gpio4 acts as an input. this is the default after reset. 1: gpio4 acts as an output. 3 gpio3 direction control 0: gpio3 acts as an input. this is the default after reset. 1: gpio3 acts as an output. 2 gpio2 direction control 0: gpio2 acts as an input. this is the default after reset. 1: gpio2 acts as an output. 1-0 reserved these bits always return the value of 0 when read. 76543210 gpio7 direction (0) reserved (00) gpio4 direction (0) gpio3 direction (0) gpio2 direction (0) reserved (00) .com .com .com .com .com 4 .com u datasheet
14-18 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr63 gpio pin data register read/write at i/o address 3d7h with index at i/o address 3d6h set to 63h 7gpio7 data this bit is used in either reading or setting the state of gpio7. 6-5 reserved these bits always return the value of 0 when read. 4gpio4 data this bit is used in either reading or setting the state of gpio4. 3gpio3 data this bit is used in either reading or setting the state of gpio3. 2gpio2 data this bit is used in either reading or setting the state of gpio2. 1gpio1 data this bit is used in either reading or setting the state of gpio1. 0gpio0 data this bit is used in either reading or setting the state of gpio0. 76543210 gpio7 data (x) reserved (00) gpio4 data (x) gpio3 data (x) gpio2 data (x) gpio1 data (x) gpio0 data (x) .com .com .com .com .com 4 .com u datasheet
extension registers 14-19 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr67 pin tri-state control register read/write at i/o address 3d7h with index at i/o address 3d6h set to 67h 7-2 reserved these bits always return the value of 0 when read. 1 video data port tri-state 0: video data port pins are not tri-stated. this the default after reset. 1: video data port pins are tri-stated. 0 reserved this bit should always be written to with a value of zero. 76543210 reserved (0000:00) data port tri-state (0) reserved (0) .com .com .com .com .com 4 .com u datasheet
14-20 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr70 configuration pins 0 register read-only at i/o address 3d7h with index at i/o address 3d6h set to 70h the bits of this register indicate the state of each of these pins at the time the graphics controller is reset. during a reset, the graphics controller does not drive these pins, thereby allowing them to either be pulled high by relatively weak internal resistors, or to be pulled low by external resistors (4.7k recommended). instead, during reset, the graphics controller latches the state of these pins, and the latched values are used by the graphics controller to provide a limited degree of hardware-based configuration of some features. some of these latched values directly affect the hardware, while others are simply reflected in this register so as to be read by configuration software, usually the bios. 7pin cfg7 0: enables clock test mode. 1: disables clock test mode. note: clock test mode allows the internal clock synthesizers to be tested, by placing the output of the mclk synthesizer on the romoe# pin (the pin used to drive the chip select pin of the bios rom) and the output of the vclk synthesizer on the pclk pin (the clock pin used for the video data port). 6pin cfg6 0: the acti and enabkl outputs are forced to be tri-stated. 1: the acti and enabkl outputs are permitted to function normally. 5pin cfg5 reserved. no interpretation has yet been assigned to the state of this bit, and the hardware does not interpret the state of the corresponding pin during reset. 4pin cfg4 0: the refclk and tclk pins are used as inputs to receive mclk an dclk, respectively, from an external source. 1: mclk and dclk are provided by the internal clock generators. note: the default selection of sources for mclk and dclk may be individually changed by changing the settings of bits 2 and 1 of the memory clock divisor select register (xrcf). both of those two bits also use the state of pin aa4 at reset to determine their default values. 76543210 cfg7 (x) cfg6 (x) cfg5 (x) cfg4 (x) cfg3 (x) cfg2 (x) cfg1 (x) reserved (1) .com .com .com .com .com 4 .com u datasheet
extension registers 14-21 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 3pin cfg3 reserved. no interpretation has yet been assigned to the state of this bit, and the hardware does not interpret the state of the corresponding pin during reset. 2pin cfg2 reserved. no interpretation has yet been assigned to the state of this bit, and the hardware does not interpret the state of the corresponding pin during reset. 1pin cfg1 0: indicates that vga i/o address decoding is disabled on the pci bus, so access to the registers via i/o read and write operations is disabled. 1: indicates that vga i/o address decoding is enabled on the pci bus, so access to the registers via i/o read and write operations is enabled. note: the reset state of this pin is also readable via bit 1 of the host bus configuration register (xr08). 0 reserved this bit always returns the value of 1 when read. .com .com .com .com .com 4 .com u datasheet
14-22 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr71 configuration pins 1 register read-only at i/o address 3d7h with index at i/o address 3d6h set to 71h the bits of this register indicate the state of each of these pins at the time the graphics controller is reset. during a reset, the graphics controller does not drive these pins, thereby allowing them to either be pulled high by relatively weak internal resistors, or to be pulled low by external resistors (4.7k recommended). instead, during reset, the graphics controller latches the state of these pins, and the latched values are used by the graphics controller to provide a limited degree of hardware-based configuration of some features. some of these latched values directly affect the hardware, while others are simply reflected in this register so as to be read by configuration software, usually the bios. 7pin cfg15 reserved. an interpretation has not been assigned to the state of this bit, and the hardware does not interpret the state of the corresponding pin during reset. 6pin cfg14 reserved for bios use as bit 3 of a 4-bit code specifying the panel type. 5pin cfg13 reserved for bios use as bit 2 of a 4-bit code specifying the panel type. 4pin cfg12 reserved for bios use as bit 1 of a 4-bit code specifying the panel type. 3pin cfg11 reserved for bios use as bit 0 of a 4-bit code specifying the panel type. 2pin cfg10 reserved. an interpretation has not been assigned to the state of this bit, and the hardware does not interpret the state of the corresponding pin during reset. 1pin cfg9 reserved. an interpretation has not been assigned to the state of this bit, and the hardware does not interpret the state of the corresponding pin during reset. 0pin cfg8 reserved. an interpretation has not been assigned to the state of this bit, and the hardware does not interpret the state of the corresponding pin during reset. 76543210 cfg15 (x) cfg14 (x) cfg13 (x) cfg12 (x) cfg11 (x) cfg10 (x) cfg9 (x) cfg8 (x) .com .com .com .com .com 4 .com u datasheet
extension registers 14-23 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr80 pixel pipeline configuration 0 register read/write at i/o address 3d7h with index at i/o address 3d6h set to 80h 7 6-bit/8-bit dac select 0: all three d-to-a converters are set for 6-bit operation. this is the default after reset. 1: all three d-to-a converters are set for 8-bit operation. 6 reserved this bit always returns the value of 0 when read. 5 pixel avera g in g enable pixel averaging causes the red, green and blue color component values of a replicated pixel created by the horizontal stretching process to be averaged with those of the next pixel. 0: disables pixel averaging. this is the default after reset. 1: enables pixel averaging. note: the pixel averaging feature applies only to flat panel displays, not crts, and it applies only when horizontal stretching is active (see the description of the horizontal stretching register, fr41, for more details). 4 alternate hardware cursor enable 0: disables hardware cursor. 1: enables hardware cursor. 3 extended status read enable when enabled, the extended status read feature changes the functionality of three of the palette registers in order to allow the status of the internal state machines and values of the red and green data in the input holding register to be read. the affected palette registers and their alternate functions are as follows: 0: disable extended status read feature. this is the default after reset. 1: enable extended status read feature. note: this feature must be disabled to permit normal accesses to the registers and color data locations within the palette. 2 flat panel overscan color enable 0: disable the use of the flat panel overscan color (overscan, bit 1). this is the default after reset. 1: enable the use of the flat panel overscan color (overscan, bit 1). 76543210 6-bit/8-bit dac select (0) reserved (0) pixel avera g in g (0) alt hardware cursor en (0) extended status read (0) flat panel overscan (0) crt overscan (0) palette addr select (0) affected register alternate function pixel data mask re g ister (palmask) returns the value of the red pixel data currently in the data holdin g re g ister. palette write mode index re g ister (palwx) returns the value of the g reen pixel data currently in the data holdin g re g ister. palette state re g ister (palstate) returns the status of the internal state machines in bits 7-2. .com .com .com .com .com 4 .com u datasheet
14-24 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 1 crt overscan enable 0: disable the use of the crt overscan color (overscan, bit 0). this is the default after reset. 1: enable the use of the crt overscan color (overscan, bit 0). 0 palette addressing select 0: select the standard 256-position palette for the main display image to be accessed via the palettes sub-indexing scheme. this is the default after reset. 1: select the separate 8-position palette for cursor 1 and cursor 2 to be accessed via the palettes sub-indexing scheme. .com .com .com .com .com 4 .com u datasheet
extension registers 14-25 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr81 pixel pipeline configuration 1 register read/write at i/o address 3d7h with index at i/o address 3d6h set to 81h 7-5 reserved these bits always return the value of 0 when read. 4 vga standard si g nal dela y enable 0: the crt display enable and crt blank are delayed for compatibility with the vga standard. the behavior of cr00 remains compatible with the vga standard, inasmuch as the value placed there must be subtract by 5. this is the default after reset. 1: the crt display enable and crt blank are not delayed. the behavior of cr00 is altered in a way that is different from the vga standard, inasmuch as the value placed there is not to be subtracted by 5. note: this enables/disables the delay of signals relative to the crt horizontal and vertical sync signals. when the flat panel display engine is enabled (i.e., when bit 1 of fr01 is set to 1), then this bit is ignored and no such delay takes place. 3-0 graphics s y stem color depth 76543210 reserved (000) vga std delay (0) graphics system color depth (0000) bits 3 2 1 0 color depth selected for graphics system 0 0 0 0 confi g ures the crt pipeline for standard vga text and g raphics modes, and for 1bpp, 2bpp and 4bpp extended g raphics modes. this is the default after reset. 0 0 0 1 reserved 0 0 1 0 confi g ures the crt pipeline for 8bpp extended g raphics modes. 0 0 1 1 reserved 0 1 0 0 confi g ures the crt pipeline for 16bpp extended g raphics modes wherein the g raphics data follows a fixed tar g a-compatible 5-5-5 rgb format. 0 1 0 1 confi g ures the crt pipeline for 16bpp extended g raphics modes wherein the g raphics data follows a fixed xga-compatible 5-6-5 rgb format. 0 1 1 0 confi g ures the crt pipeline for packed 24bpp extended g raphics modes wherein only 3 bytes are allocated for each pixel. 0 1 1 1 confi g ures the crt pipeline for non-packed 24bpp (32bpp) extended g raphics modes wherein 4 bytes are allocated for each pixel, so that the g raphics data for each pixel is doubleword-ali g ned. the 4th byte allocated for each pixel is unused. 1 x x x reserved .com .com .com .com .com 4 .com u datasheet
14-26 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xr82 pixel pipeline configuration 2 register read/write at i/o address 3d7h with index at i/o address 3d6h set to 82h 7-4 reserved these bits always return the value of 0 when read. 3 graphics data gamma correction enable 0: graphics data bypasses the palette when the graphics system is set to a color depth of 16, 24 or 32 bits per pixel. this is the default after reset. 1: graphics data goes through the palette when the graphics system is set to a color depth of 16, 24 or 32 bits per pixel, allowing the palette to be used to perform gamma correction. 2 video data gamma correction enable 0: video data bypasses the palette. this is the default after reset. 1: video data goes through the palette, allowing the palette to be used to perform gamma correction. 1composite s y nc on green enable 0: disables the provision of composite sync on the green analog output. this is the default after reset. 1: enables the provision of composite sync on the green analog output. 0 blank pedestal enable 0: disables the provision of a pedestal output level during blanking periods. this is the default after reset. 1: enables the provision of a pedestal output level during blanking periods. 76543210 reserved (0000) graphics gamma (0) video gamma (0) comp. sync on green (0) blank pedestal (0) .com .com .com .com .com 4 .com u datasheet
extension registers 14-27 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xra0 cursor 1 control register read/write at i/o address 3d7h with index at i/o address 3d6h set to a0h 7 cursor 1 blink enable 0: disables blinking. this is the default after reset. 1: enables blinking. blinking rate set in register fr19. 6 cursor 1 vertical stretchin g enable 0: disables vertical stretching for cursor 1. this is the default after reset. 1: enables vertical stretching for cursor 1. note: just as is the case with the vertical stretching for the main display image, vertical stretching for cursor 1 applies only to flat panel displays. 5 cursor 1 horizontal stretchin g enable 0: disables horizontal stretching for cursor 1. this is the default after reset. 1: enables horizontal stretching for cursor 1. note: just as is the case with the horizontal stretching for the main display image, horizontal stretching for cursor 1 applies only to flat panel displays. 4 cursor 1 coordinate s y stem ori g in select 0: selects the outermost upper left-hand corner of the screen border as the origin for the coordinate system used to position cursor 1. this is the default after reset. 1: selects the upper left-hand corner of the active display area as the origin for the coordinate system used to position cursor 1. 3 cursor 1 vertical extension enable 0: disables the vertical extension feature for cursor 1. this is the default after reset. 1: enables the vertical extension feature for cursor 1, thereby permitting the height of cursor 1 may be specified independently of its mode selection through the use of the cursor 1 vertical extension register (xra1). 2-0 cursor 1 mode select these three bits select the mode for cursor 1. see appendix f for more details concerning the cursor modes. 76543210 cursor 1 blink en (0) cursor 1 v stretch (0) cursor 1 h stretch (0) coordinate ori g in sel (0) vertical extension (0) cursor 1 mode select (000) bits 2 1 0 cursor mode 0 0 0 cursor 1 is disabled. this is the default after reset. 0 0 1 32x32 2bpp and/xor 2-plane mode 0 1 0 128x128 1bpp 2-color mode 0 1 1 128x128 1bpp 1-color and transparency mode 1 0 0 64x64 2bpp 3-color and transparency mode 1 0 1 64x64 2bpp and/xor 2-plane mode 1 1 0 64x64 2bpp 4-color mode 1 1 1 reserved .com .com .com .com .com 4 .com u datasheet
14-28 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xra1 cursor 1 vertical extension register read/write at i/o address 3d7h with index at i/o address 3d6h set to a1h 7-0 cursor 1 vertical extension when the vertical extension feature for cursor 1 is enabled by setting bit 3 of the cursor 1 control register (xra0) to 1, these 8 bits of this register are used to specify the height of cursor 1 in scan lines. the number of scan lines must be a multiple of four. this register should be programmed with a value derived from the following equation: value = ((number of scanlines) ? (4) - 1 xra2 cursor 1 base address low register read/write at i/o address 3d7h with index at i/o address 3d6h set to a2h 7-4 cursor 1 base address bits 15-12 these four bits provide part of a 22-bit value that specifies the offset from the beginning of the frame buffer memory space where the 4kb cursor data space for cursor 1 is to be located. the six most- significant bits of this 22-bit value are supplied by the cursor 1 base address high register (xra3). 3-0 cursor 1 pattern select these four bits allow 1 of up to as many as 16 possible patterns contained in the cursor data space for cursor 1 to be selected to be displayed. the actual number of patterns depends on the size of each pattern, since the cursor data space is limited to a total of 4kb in size. the size of each pattern depends, at least in part, on the choice of cursor mode. see appendix d for more details concerning the cursor modes. 76543210 cursor 1 vertical extension (00h) 76543210 cursor 1 base address bits 15-12 (0000) cursor 1 pattern select (0000) .com .com .com .com .com 4 .com u datasheet
extension registers 14-29 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xra3 cursor 1 base address high register read/write at i/o address 3d7h with index at i/o address 3d6h set to a3h 7-6 reserved these bits always return the value of 0 when read. 5-0 cursor 1 base address bits 21-16 these six bits provide the six most significant bits of a 22-bit value that specifies the offset from the beginning of the frame buffer memory space where the 4kb cursor data space for cursor 1 is to be located. the four next most-significant bits of this 22-bit value are supplied by the cursor 1 base address low register (xra2). xra4 cursor 1 x-position low register read/write at i/o address 3d7h with index at i/o address 3d6h set to a4h 7-0 cursor 1 x-position ma g nitude bits 7-0 this register provides the eight least significant magnitude bits of a signed 12-bit value that specifies the horizontal position of cursor 1. the three most significant magnitude bits and the sign bit of this value are provided by bits 2-0 and bit 7, respectively, of the cursor 1 x-position high register (xra5). 76543210 reserved (00) cursor 1 base address bits 21-16 (00:0000) 76543210 cursor 1 x-position ma g nitude bits 7-0 (00h) .com .com .com .com .com 4 .com u datasheet
14-30 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xra5 cursor 1 x-position high register read/write at i/o address 3d7h with index at i/o address 3d6h set to a5h 7 cursor 1 x-position si g n bit this bit provides the sign bit of a signed 12-bit value that specifies the horizontal position of cursor 1. the magnitude bits are provided by the cursor 1 x-position low register (xra4) and bits 2-0 of this register. 6-3 reserved these bits always return the value of 0 when read. 2-0 cursor 1 x-position ma g nitude bits 10-8 these three bits provide the three most significant magnitude bits of a signed 12-bit value that specifies the horizontal position of cursor 1. the eight least significant magnitude bits of this value are provided by bits 7-0 of the cursor 1 x-position low register (xra4). the sign bit is provided by bit 7 of this register. xra6 cursor 1 y-position low register read/write at i/o address 3d7h with index at i/o address 3d6h set to a6h 7-0 cursor 1 y-position ma g nitude bits 7-0 this register provides the eight least significant magnitude bits of a signed 12-bit value that specifies the vertical position of cursor 1. the three most significant magnitude bits and the sign bit of this value are provided by bits 2-0 and bit 7, respectively, of the cursor 1 y-position high register (xra7). 76543210 x-pos si g n bit (0) reserved (000:0) cursor 1 x-position ma g nitude bits 10-8 (000) 76543210 cursor 1 y-position ma g nitude bits 7-0 (00h) .com .com .com .com .com 4 .com u datasheet
extension registers 14-31 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xra7 cursor 1 y-position high register read/write at i/o address 3d7h with index at i/o address 3d6h set to a7h 7 cursor 1 y-position si g n bit this bit provides the sign bit of a signed 12-bit value that specifies the horizontal position of cursor 1. the magnitude bits are provided by the cursor 1 y-position low register (xra6) and bits 2-0 of this register. 6-3 reserved these bits always return the value 0 when read. 2-0 cursor 1 y-position ma g nitude bits 10-8 these three bits provide the three most significant magnitude bits of a signed 12-bit value that specifies the vertical position of cursor 1. the eight least significant magnitude bits of this value are provided by bits 7-0 of the cursor 1 y-position low register (xra6). the sign bit is provided by bit 7 of this register. 76543210 y-pos si g n bit (0) reserved (000:0) cursor 1 y-position ma g nitude bits 10-8 (000) .com .com .com .com .com 4 .com u datasheet
14-32 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xra8 cursor 2 control register read/write at i/o address 3d7h with index at i/o address 3d6h set to a8h 7 cursor 2 blink enable 0: disables blinking. this is the default after reset. 1: enables blinking. blinking rate set in register fr19. 6 cursor 2 vertical stretchin g enable 0: disables vertical stretching for cursor 2. this is the default after reset. 1: enables vertical stretching for cursor 2. note: just as is the case with the vertical stretching for the main display image, vertical stretching for cursor 2 applies only to flat panel displays. 5 cursor 2 horizontal stretchin g enable 0: disables horizontal stretching for cursor 2. this is the default after reset. 1: enables horizontal stretching for cursor 2. note: just as is the case with the horizontal stretching for the main display image, horizontal stretching for cursor 2 applies only to flat panel displays. 4 cursor 2 coordinate s y stem ori g in select 0: selects the outermost upper left-hand corner of the screen border as the origin for the coordinate system used to position cursor 2. this is the default after reset. 1: selects the upper left-hand corner of the active display area as the origin for the coordinate system used to position cursor 2. 3 cursor 2 vertical extension enable 0: disables the vertical extension feature for cursor 2. this is the default after reset. 1: enables the vertical extension feature for cursor 2, thereby permitting the height of cursor 2 may be specified independently of its mode selection through the use of the cursor 2 vertical extension register (xra9). 2-0 cursor 2 mode select these three bits select the mode for cursor 2. see appendix f for more details concerning the cursor modes. 76543210 cursor 2 blink en (0) cursor 2 v stretch (0) cursor 2 h stretch (0) coordinate ori g in sel (0) vertical extension (0) cursor 2 mode select (000) bits 2 1 0 cursor mode 0 0 0 cursor 2 is disabled. this is the default after reset. 0 0 1 32x32 2bpp and/xor 2-plane mode 0 1 0 128x128 1bpp 2-color mode 0 1 1 128x128 1bpp 1-color and transparency mode 1 0 0 64x64 2bpp 3-color and transparency mode 1 0 1 64x64 2bpp and/xor 2-plane mode 1 1 0 64x64 2bpp 4-color mode 1 1 1 reserved .com .com .com .com .com 4 .com u datasheet
extension registers 14-33 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xra9 cursor 2 vertical extension register read/write at i/o address 3d7h with index at i/o address 3d6h set to a9h 7-0 cursor 2 vertical extension when the vertical extension feature for cursor 2 is enabled by setting bit 3 of the cursor 2 control register (xra8) to 1, these 8 bits of this register are used to specify the height of cursor 2 in scan lines. the number of scan lines must be a multiple of four. this register should be programmed with a value derived from the following equation: value = ((number of scanlines) ? ( 4) - 1 xraa cursor 2 base address low register read/write at i/o address 3d7h with index at i/o address 3d6h set to aah 7-4 cursor 2 base address bits 15-12 these four bits provide part of a 22-bit value that specifies the offset from the beginning of the frame buffer memory space where the 4kb cursor data space for cursor 2 is to be located. the six most- significant bits of this 22-bit value are supplied by the cursor 2 base address high register (xrab). 3-0 cursor 2 pattern select these four bits allow 1 of up to as many as 16 possible patterns contained in the cursor data space for cursor 2 to be selected to be displayed. the actual number of patterns depends on the size of each pattern, since the cursor data space is limited to a total of 4kb in size. the size of each pattern depends, at least in part, on the choice of cursor mode. see the section on the hardware cursor and popup for more details concerning the cursor modes. 76543210 cursor 2 vertical extension (00h) 76543210 cursor 2 base address bits 15-12 (0000) cursor 2 pattern select (0000) .com .com .com .com .com 4 .com u datasheet
14-34 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrab cursor 2 base address high register read/write at i/o address 3d7h with index at i/o address 3d6h set to abh 7-6 reserved these bits always return the value of 0 when read. 5-0 cursor 2 base address bits 21-16 these six bits provide the six most significant bits of a 22-bit value that specifies the offset from the beginning of the frame buffer memory space where the 4kb cursor data space for cursor 2 is to be located. the four next most-significant bits of this 22-bit value are supplied by the cursor 2 base address low register (xraa). xrac cursor 2 x-position low register read/write at i/o address 3d7h with index at i/o address 3d6h set to ach 7-0 cursor 2 x-position ma g nitude bits 7-0 this register provides the eight least significant magnitude bits of a signed 12-bit value that specifies the horizontal position of cursor 2. the three most significant magnitude bits and the sign bit of this value are provided by bits 2-0 and bit 7, respectively, of the cursor 2 x-position high register (xrad). 76543210 reserved (00) cursor 2 base address bits 21-16 (00:0000) 76543210 cursor 2 x-position ma g nitude bits 7-0 (00h) .com .com .com .com .com 4 .com u datasheet
extension registers 14-35 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrad cursor 2 x-position high register read/write at i/o address 3d7h with index at i/o address 3d6h set to adh 7 cursor 2 x-position si g n bit this bit provides the sign bit of a signed 12-bit value that specifies the horizontal position of cursor 2. the magnitude bits are provided by the cursor 2 x-position low register (xrac) and bits 2-0 of this register. 6-3 reserved these bits always return the value of 0 when read. 2-0 cursor 2 x-position ma g nitude bits 10-8 these three bits provide the three most significant magnitude bits of a signed 12-bit value that specifies the horizontal position of cursor 2. the eight least significant magnitude bits of this value are provided by bits 7-0 of the cursor 2 x-position low register (xrac). the sign bit is provided by bit 7 of this register. xrae cursor 2 y-position low register read/write at i/o address 3d7h with index at i/o address 3d6h set to aeh 7-0 cursor 2 y-position ma g nitude bits 7-0 this register provides the eight least significant magnitude bits of a signed 12-bit value that specifies the vertical position of cursor 2. the three most significant magnitude bits and the sign bit of this value are provided by bits 2-0 and bit 7, respectively, of the cursor 2 y-position high register (xraf). 76543210 x-position si g n bit (0) reserved (000:0) cursor 2 x-position ma g nitude bits 10-8 (000) 76543210 cursor 2 y-position ma g nitude bits 7-0 (00h) .com .com .com .com .com 4 .com u datasheet
14-36 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xraf cursor 2 y-position high register read/write at i/o address 3d7h with index at i/o address 3d6h set to afh 7 cursor 2 y-position si g n bit this bit provides the sign bit of a signed 12-bit value that specifies the vertical position of cursor 2. the magnitude bits are provided by the cursor 2 y-position low register (xrae) and bits 2-0 of this register. 6-3 reserved these bits always return the value of 0 when read. 2-0 cursor 2 y-position ma g nitude bits 10-8 these three bits provide the three most significant magnitude bits of a signed 12-bit value that specifies the vertical position of cursor 2. the eight least significant magnitude bits of this value are provided by bits 7-0 of the cursor 2 y-position low register (xrae). the sign bit is provided by bit 7 of this register. xrc0 dot clock 0 vco m-divisor register read/write at i/o address 3d7h with index at i/o address 3d6h set to c0h note: all four of the registers used in specifying the loop parameters for dot clock 0 (xrc0 - xrc3) must be written, and in order from xrc0 to xrc3, before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7-0 dot clock 0 vco m-divisort this register provides the m-divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 0.a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 0. see appendix b for a detailed description of the process used to derive the loop parameter values. 76543210 y-position si g n bit (0) reserved (000:0) cursor 2 y-position ma g nitude bits 10-8 (000) 76543210 dot clock 0 vco m-divisor .com .com .com .com .com 4 .com u datasheet
extension registers 14-37 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrc1 dot clock 0 vco n-divisor register read/write at i/o address 3d7h with index at i/o address 3d6h set to c1h note: all four of the registers used in specifying the loop parameters for dot clock 0 (xrc0 - xrc3) must be written, and in order from xrc0 to xrc3, before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7-0 dot clock 0 vco n-divisor bits 7-0 this register provides the n-divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 0. a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 0. see appendix b for a detailed description of the process used to derive the loop parameter values. 76543210 dot clock 0 vco n-divisor .com .com .com .com .com 4 .com u datasheet
14-38 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrc3 dot clock 0 divisor select register read/write at i/o address 3d7h with index at i/o address 3d6h set to c3h note: all four of the registers used in specifying the loop parameters for dot clock 0 (xrc0 - xrc3) must be written, and in order from xrc0 to xrc3, before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7 reserved this bit always returns the value of 0 when read. 6-4 post divisor select these three bits select a value that specifies the post divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 0. the manner in which these bits are used to choose this value is shown in the table below: a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 0. see the appendix b for a detailed description of the process used to derive the loop parameter values. 3 reserved this bit always returns the value of 0 when read. 2 vco loop divisor select this bit selects a value that specifies the vco loop divide, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 0. 0: selects a vco loop divide value of 4. 1: selects a vco loop divide value of 1. a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 0. see appendix b for a detailed description of the process used to derive the loop parameter values. 1-0 reserved these bits always return the value 0 when read. 76543210 reserved post divisor select reserved vco loop divisor reserved bits 6 5 4 post divisor 0 0 0 1 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 reserved 1 1 1 reserved .com .com .com .com .com 4 .com u datasheet
extension registers 14-39 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrc4 dot clock 1 vco m-divisor register read/write at i/o address 3d7h with index at i/o address 3d6h set to c4h note: all four of the registers used in specifying the loop parameters for dot clock 1 (xrc4 - xrc7) must be written, and in order, from xrc4 to xrc7 before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7-0 dot clock 1 vco m-divisor this register the m-divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 1. a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 1. see appendix b for a detailed description of the process used to derive the loop parameter values. xrc5 dot clock 1 vco n-divisor register read/write at i/o address 3d7h with index at i/o address 3d6h set to c5h note: all four of the registers used in specifying the loop parameters for dot clock 1 (xrc4 - xrc7) must be written, and in order from xrc4 to xrc7, before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7-0 dot clock 1 vco n-divisor bits 7-0 this register provides the n-divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 1. a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 1. see appendix b for a detailed description of the process used to derive the loop parameter values. 76543210 dot clock 1 vco m-divisor 76543210 dot clock 1 vco n-divisor bits 7-0 .com .com .com .com .com 4 .com u datasheet
14-40 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrc7 dot clock 1 divisor select register read/write at i/o address 3d7h with index at i/o address 3d6h set to index c7h note: all four of the registers used in specifying the loop parameters for dot clock 1 (xrc4 - xrc7) must be written, and in order from xrc4 to xrc7, before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7 reserved this bit always returns the value of 0 when read. 6-4 post divisor select these three bits select a value that specifies the post divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 1. the manner in which these bits are used to choose this value is shown in the table below: a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 0. see appendix b for a detailed description of the process used to derive the loop parameter values. 3 reserved this bit always returns the value of 0 when read. 2 vco loop divisor select this bit selects a value that specifies the vco loop divide, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 1. 0: selects a vco loop divide value of 4. 1: selects a vco loop divide value of 1. a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 1. see appendix b for a detailed description of the process used to derive the loop parameter values. 1-0 reserved these bits always return the value 0 when read. 76543210 reserved post divisor select reserved vco loop divisor reserved bits 6 5 4 post divisor 0 0 0 1 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 reserved 1 1 1 reserved .com .com .com .com .com 4 .com u datasheet
extension registers 14-41 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrc8 dot clock 2 vco m-divisor register read/write at i/o address 3d7h with index at i/o address 3d6h set to c8h note: all four of the registers used in specifying the loop parameters for dot clock 2 (xrc8 - xrcb) must be written, and in order from xrc8 to xrcb, before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7-0 dot clock 2 vco m-divisor this register provides the m-divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 2. a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 2. see appendix b for a detailed description of the process used to derive the loop parameter values. xrc9 dot clock 2 vco n-divisor register read/write at i/o address 3d7h with index at i/o address 3d6h set to c9h note: all four of the registers used in specifying the loop parameters for dot clock 2 (xrc8 - xrcb) must be written, and in order from xrc8 to xrcb, before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7-0 dot clock 2 vco n-divisor bits 7-0 this register provides the n-divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 2. a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 2. see appendix b for a detailed description of the process used to derive the loop parameter values. 76543210 dot clock 2 vco m-divisor 76543210 dot clock 2 vco n-divisor .com .com .com .com .com 4 .com u datasheet
14-42 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrcb dot clock 2 divisor select register read/write at i/o address 3d7h with index at i/o address 3d6h set to cbh note: all four of the registers used in specifying the loop parameters for dot clock 2 (xrc8 - xrcb) must be written, and in order from xrc8 to xrcb, before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7 reserved this bit always returns the value of 0 when read. 6-4 post divisor select these three bits select a value that specifies the post divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 2. the manner in which these bits are used to choose this value is shown in the table below: a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 2. see appendix b for a detailed description of the process used to derive the loop parameter values. 3 reserved this bit always returns the value of 0 when read. 2 vco loop divisor select this bit selects a value that specifies the vco loop divide, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate dot clock 2. 0: selects a vco loop divide value of 4. 1: selects a vco loop divide value of 1. a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate dot clock 2. see appendix b for a detailed description of the process used to derive the loop parameter values. 1-0 reserved these bits always return the value of 0 when read. 76543210 reserved post divisor select reserved vco loop divisor reserved bits 6 5 4 post divisor 0 0 0 1 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 reserved 1 1 1 reserved .com .com .com .com .com 4 .com u datasheet
extension registers 14-43 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrcc memory clock vco m-divisor register read/write at i/o address 3d7h with index at i/o address 3d6h set to cch note: all three of the registers used in specifying the loop parameters for the memory clock (xrcc - xrce) must be written, and in order from xrcc to xrce, before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7-0 memor y clock vco m-divisor these eight bits specify the m-divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate the memory clock. a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate the memory clock. see appendix b for a detailed description of the process used to derive the loop parameter values. xrcd memory clock vco n-divisor register read/write at i/o address 3d7h with index at i/o address 3d6h set to cdh note: all three of the registers used in specifying the loop parameters for the memory clock (xrcc - xrce) must be written, and in order from xrcc to xrce, before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7-0 memor y clock vco n-divisor these eight bits specify the n-divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate the memory clock. a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate the memory clock. see appendix b for a detailed description of the process used to derive the loop parameter values. 76543210 memory clock vco m-divisor 76543210 memory clock vco n-divisor .com .com .com .com .com 4 .com u datasheet
14-44 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrce memory clock divisor select register read/write at i/o address 3d7h with index at i/o address 3d6h set to ceh note: before any value is written to bits other than bit 7 of register, bit 7 of this register should be set to 0 to select the default memory clock. note: all three of the registers used in specifying the loop parameters for the memory clock (xrcc - xrce) must be written, and in order from xrcc to xrce, before the hardware will update the synthesizers settings. this is a form of double-buffering that is intended to prevent fluctuations in the synthesizers output as new values are being written to these registers. 7memor y clock select 0: the memory clock output is set to a preset frequency of40.00mhz. this is the default after reset. 1: the memory clock output is controlled by the loop parameters given to the memory clock synthesizer using a group of three registers (xrcc-xrce) which includes this one. 6-4 post divisor select these three bits select a value that specifies the post divisor, one of the loop parameters used in controlling the frequency of the output of the synthesizer used to generate the memory clock. the manner in which these bits are used to choose this value is shown in the table below: a series of calculations are used to derive this value and the values for the other loop parameters given a desired output frequency and a series of constraints placed on different components within the synthesizer used to generate the memory clock. see the appendix on clock generation for a detailed description of the process used to derive the loop parameter values. 3-0 reserved these bits always return the value of 0 when read. 76543210 memory clock select post divisor select reserved bits 6 5 4 post divisor 0 0 0 1 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 reserved 1 1 1 reserved .com .com .com .com .com 4 .com u datasheet
extension registers 14-45 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrcf clock configuration register read/write at i/o address 3d7h with index at i/o address 3d6h set to cfh note: the default values of some of the bits of this register are determined by the settings of some of the strapping pins at reset. 7-4 reserved these bits always return the value of 0 when read. 3 power sequencin g reference clock select 0: the clock used to time the steps of panel powerdown or powerup is the reference input clock divided by 384. presuming that the reference clock is the usual 14.31818mhz, the frequency resulting from this division should be 37.5khz. this is the default after reset. 1: the clock used to time the steps of panel powerdown or powerup is the 32khz clock provided as an input on one of the gpio pins. this same clock is usually also used to provide a time base for memory refreshes during standby mode. 2 dot clock source 0: an external clock source received through the tclk pin is used to provide the dot clock. all three of the synthesizers otherwise used to generate the three selectable dot clocks are disabled. 1: the three synthesizers used to generate the three selectable dot clocks are enabled. note: the default state of this bit reflects the state of pin aa4 during reset. the state of pin aa4 during reset is also readable via bit 4 of the configuration pins 0 register (xr70). bit 4 of xr70 is read- only, while this bit is writable, allowing the source of the dot clock to be changed after reset. 1memor y clock source 0: an external clock source is used to provide the memory clock. the synthesizer otherwise used to generate the memory clock is disabled. the graphics controller is configured to receive this external clock source on either one of two pins depending on the state of pin aa4 during reset. if aa4 was pulled low by an external pull-down resistor during reset, then the graphics controller will be configured to receive the external clock on the refclk pin. if aa4 was allowed to be pulled high by the internal pull-up resistor during reset, then the graphics controller is configured to receive the external clock on the tdi pin. 1: the synthesizer used to generate memory clock is enabled. note: the default state of this bit reflects the state of pin aa4 during reset. the state of pin aa4 during reset is also readable via bit 4 of the configuration pins 0 register (xr70). bit 4 of xr70 is read- only, while this bit is writable, allowing the source of the memory clock to be changed after reset. 0 reserved this bit always returns the value of 0 when read. 76543210 reserved (0000) power seq ref clock (0) dot clock source (x) mem clk source (x) reserved (0) .com .com .com .com .com 4 .com u datasheet
14-46 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrd0 powerdown control register read/write at i/o address 3d7h with index at i/o address 3d6h set to d0h 7 reserved this bit always returns the value of 0 when read. 6 video port enable 0: disables the video port. this is the default after reset. 1: enables the video port. 5 video capture enable 0: disables video capture. 1: enables video capture. this is the default after reset. 4 video pla y back enable 0: disables video playback. 1: enables video playback. this is the default after reset. 3memor y clock vco enable 0: disables the memory clock vco. 1: enables the memory clock vco. this is the default after reset. 2 dot clock vco enable 0: disables the dot clock vco. 1: enables the dot clock vco. this is the default after reset. 1 palette enable 0: disables the palette. 1: enables the palette. this is the default after reset. 0 d-to-a converters enable 0: disables the d-to-a converters. 1: enables the d-to-a converters. this is the default after reset. 76543210 reserved (0) video port enable (0) capture enable (1) playback enable (1) mclk vco enable (1) dclk vco enable (1) palette enable (1) dac enable (1) .com .com .com .com .com 4 .com u datasheet
extension registers 14-47 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xrd1 power conservation control register read/write at i/o address 3d7h with index at i/o address 3d6h set to d1h 7-1 reserved this bit always returns the value of 0 when read. 0bitblt en g ine idle-state powerdown 0: does not cause the bitblt engine to automatically powerdown when idle. 1: causes the bitblt engine to automatically powerdown when idle. note: use of this feature in no way affects usability of the bitblt engine, and in no way impedes access to the bitblt registers. the manner in which the bitblt engine is programmed is not affected by the use of this feature. xrd2 2khz down counter register read/write at i/o address 3d7h with index at i/o address 3d6h set to d2h 7-0 2khz down counter this register provides the output of a looping 8-bit counter that is continuously decremented at a rate of 2khz. the 2khz frequency is derived from the same 14.318mhz reference frequency received from an external oscillator that is used as the base frequency for the generation of both the dot clock and memory clock. this register is meant to be used to provide a fixed time base that can be used by chips bios to properly time the various steps to perform a powerdown or powerup of the graphics controller. 76543210 reserved (0000:000) bitblt idle powerdown (0) 76543210 32khz down counter (00h) .com .com .com .com .com 4 .com u datasheet
14-48 extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 xre0-xreb software flag registers 0 to b read/write at i/o address 3d7h with index at i/o address 3d6h set to e0h to e0h 7-0 software fla g bits the bits in each of these twelve registers are used largely as a scratch pad by chips bios. to a limited extent, these registers are also used as a medium of communication between chips bios and chips device drivers for various operating system environments. xrf8-xrfc test registers read/write at i/o address 3d7h with index at i/o address 3d6h set to f8h to fch 7-0 test re g ister bits the bits in each of these registers are used to perform chip testing, and should never be written to. 76543210 software fla g bits (xxxx:xxxx) 76543210 test re g ister bits (xxxx:xxxx) .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 15 flat panel registers table 15-1: flat panel registers name register function access via port 3d1h index value port 3d0h fr00 feature re g ister read-only 00h fr01 crt / fp control re g ister read/write 01h fr03 fp dot clock source re g ister read/write 03h fr04 panel power sequencin g delay re g ister read/write 04h fr05 power down control 1 re g ister read/write 05h fr06 fp power down control re g ister read/write 06h fr08 fp pin polarity re g ister read/write 08h fr0a pro g rammable output drive re g ister read/write 0ah fr0b fp pin control 1 re g ister read/write 0bh fr0c pin control 2 re g ister read/write 0ch fr0f activity timer control re g ister read/write 0fh fr10 fp format 0 re g ister read/write 10h fr11 fp format 1 re g ister read/write 11h fr12 fp format 2 re g ister read/write 12h fr13 fp format 3 re g ister read/write 13h fr16 frc option select re g ister read/write 16h fr17 polynomial frc control re g ister read/write 17h fr18 fp text mode control re g ister read/write 18h fr19 blink rate control re g ister read/write 19h fr1a stn-dd bufferin g control re g ister read/write 1ah fr1e m (acdclk) control re g ister read/write 1eh fr1f dia g nostic re g ister read/write 1fh fr20 fp horizontal panel display size lsb re g ister read/write 20h fr21 fp horizontal sync start lsb re g ister read/write 21h fr22 fp horizontal sync end re g ister read/write 22h fr23 fp horizontal total lsb re g ister read/write 23h fr24 fp hsync (lp) delay lsb re g ister read/write 24h fr25 fp horizontal overflow 1 re g ister read/write 25h fr26 fp horizontal overflow 2 re g ister read/write 26h fr27 fp hsync (lp) width and disable re g ister read/write 27h fr30 fp vertical panel size lsb re g ister read/write 30h fr31 fp vertical sync start lsb re g ister read/write 31h fr32 fp vertical sync end re g ister read/write 32h fr33 fp vertical total lsb re g ister read/write 33h fr34 fp vsync (flm) delay lsb re g ister read/write 34h fr35 fp vertical overflow 1 re g ister read/write 35h fr36 fp vertical overflow 2 re g ister read/write 36h fr37 fp vsync (flm) disable re g ister read/write 37h fr40 horizontal compensation re g ister read/write 40h fr41 horizontal stretchin g re g ister read/write 41h fr48 vertical compensation re g ister read/write 48h fr49-4c text mode vertical stretchin g re g ister read/write 49h-4ch fr4d vertical line replication re g ister read/write 4dh fr4e selective vertical stretchin g disable re g ister read/write 4eh fr70 tmed red seed re g ister read/write 70h fr71 tmed green seed re g ister read/write 71h fr72 tmed blue seed re g ister read/write 72h fr73 tmed control re g ister read/write 73h fr74 tmed2 shift control re g ister read/write 74h .com .com .com .com .com 4 .com u datasheet
15-2 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr00 feature register read-only at i/o address 3d1h with index at i/o address 3d0hh set to 00h 7-3 reserved (0000-0) 2 hardware pop-up 0: hardware support for pop-up menu does not exist. 1: hardware support for pop-up menu exists. 1 reserved (0) 0flat panel 0: flat panel module does not exist. 1: flat panel module exists. fr01 crt / fp control register read/write at i/o address 3d1h with index at i/o address 3d0hh set to 01h 7-2 reserved (r/w) (0000-00) 1-0 crt/fp control 76543210 reserved h/w pop-up reserved flat panel 76543210 reserved (r/w) crt/fp control bits 1 0 crt/fp control 0 0 crt & fp display en g ines disabled. 0 1 crt mode enabled. (default) 1 0 fp mode enabled. 1 1 reserved. .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr03 fp dot clock source register read/write at i/o address 3d1h with index at i/o address 3d0h set to 03h 7-5 reserved (000) 4 fp clock s y nthesizer select 0: use video clock synthesizer to generate fp dot clock (default). 1: use memory clock synthesizer to generate fp dot clock. this bit selects the graphics/video clock synthesizer to generate the fp dot clock in fp mode (fr01 bit 1 is set to 1). note that crt display engine always uses dot clock from the graphics/video clock synthesizer. 3-2 fp clock select bits (reset state: 00) select graphics/video clock synthesizer frequency when not in crt mode (fr01 bit 0 is set to 0). in crt mode, the graphics/video clock synthesizer frequency is selected by msr bits 3-2. see description of msr bits 3-2. 1-0 reserved (r/w) 76543210 reserved (000) synthesizer (0) fp clock synth select (00) reserved (r/w) (00) bits 1 0 crt/fp control 0 0 select clock 0 0 1 select clock 1 1 x select clock 2 .com .com .com .com .com 4 .com u datasheet
15-4 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr04 panel power sequencing delay register read/write at i/o address 3d1h with index at i/o address 3d0h set to 04h this register controls panel power on/off sequencing delays. the generation of the clock for the panel power sequencing logic is controlled by xrcf bit 3. the delay intervals above assume a 37.5 khz clock generated by the 14.31818 mhz reference clock. if using a 32khz input, scale the delay intervals accordingly. 7-4 power up dela y programmable value of panel power sequencing during power up. this value can be programmed up to 54 milliseconds in increments of 3.4 milliseconds. a value of 0 is undefined. 3-0 power down dela y programmable value of panel power-sequencing during power down. this value can be programmed up to 459 milliseconds in increments of 27.5 milliseconds. a value 0 is undefined. 76543210 power up delay (1000) power down delay (0001) .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr05 power down control 1 register read/write at i/o address 3d1h with index at i/o address 3d0h set to 05h 7 crt mode control 0: flat panel data and control signals are tri-stated with weak internal pull-down (default). 1: flat panel data and control signals are driven inactive. this bit is effective only in crt mode (flat panel is not active). 6 reserved this bit should always be written to with a value of zero. 5 standb y and panel off control 0: flat panel data and control signals are driven inactive (default). 1: flat panel data and control signals are tri-stated with a weak internal pull-down. this bit is effective in flat panel mode during standby and panel off modes. this bit does not affect crt control signals which will be driven low. 4 host standb y mode 0: normal mode (default) 1: standby mode this bit disables the cpu interface, but allows the display to remain active. all cpu interface activity is ignored except reset#. this bit can be cleared (re-enabling the cpu interface) by reset# or a low-to-high transition on stndby# 3 panel off mode 0 : normal mode (default) 1: panel off mode when this bit is set, the chip enters panel off mode. in this mode, crt/fp screen refresh is inactive but cpu interface and display memory refresh are still active. display memory and i/o registers can still be accessed. 2-0 fp normal refresh count (default = 001) these bits specify the number of memory refresh cycles per scanline. these bits should have a minimum value of 001. 76543210 crt mode (0) reserved (0) panel off (0) host stby (0) off mode (0) fp norm refresh (001) .com .com .com .com .com 4 .com u datasheet
15-6 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr06 fp power down control register read/write at i/o address 3d1h with index at i/o address 3d0h set to 06h 7-3 reserved 2hs y nc and vs y nc enable when dac is off 0: deactivate hsync and vsync when internal dac is disabled (default). 1: allow hsync and vsync to remain active when internal dac is disabled. this bit is effective when internal dac is disabled (xrd0=0). 1 reserved (writable) this bit should always be written to with the value of 0. 0 panel-off vga palette power down enable 0: disable vga palette power down in panel off mode (default). 1: enable vga palette power down in panel off mode. 76543210 reserved (0000:0) sync enable (0) reserved (writable) (0) palette power down (0) .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr08 fp pin polarity register read/write at i/o address 3d1h with index at i/o address 3d0h set to 7 alternate crt vs y nc polarit y this bit is used instead of msr bit 7 when not in crt mode (when fr01 bit 0 is set to 0). 0: positive polarity (default) 1: negative polarity 6 alternate crt hs y nc polarit y this bit is used instead of msr bit 6 when not in crt mode (when fr01 bit 0 is set to 0). 0: positive polarity (default) 1: negative polarity 5 fp graphics video output polarit y this bit affects fp video data output in graphics mode only. 0: normal polarity (default) 1: inverted polarity 4 fp text video output polarit y this bit affects fp video data output in text mode only. 0: normal polarity (default) 1: inverted polarity 3fp vs y nc (flm) polarit y 0: positive polarity (default) 1: negative polarity 2fp hs y nc (lp) polarit y 0: positive polarity (default) 1: negative polarity 1fp displa y enable polarit y 0: positive polarity (default) 1: negative polarity 0 reserved (r/w) 76543210 alt vsync polarity (0) alt hsync polarity (0) fp graphics polarity (0) fp text polarity (0) flm polarity (0) lp polarity (0) disp enbl polarity (0) reserved (r/w) (0) .com .com .com .com .com 4 .com u datasheet
15-8 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr0a programmable output drive register read/write at i/o address 3d1h with index at i/o address 3d0h set to 0ah note: this register controls the input threshold and output drive of the bus, video and memory interface pins. 7 reserved 6 hsync, vsync, acti and pclk output drive select 0 0: lower drive (default) 1: higher drive 5 reserved (writable) this bit should always be set to the value of 0. 4 reserved 3 bus interface output drive select 0: higher drive (default) 1: lower drive 2 flat panel interface output drive select 0: lower drive (default) 1: higher drive 1-0 reserved (writable) these bits should always be set to the value of 0. 76543210 reserved hs, vs & acti (0) reserved (writable) (0) reserved bus output drive (0) fp output drive (0) reserved (writable) (0) .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr0b fp pin control 1 register read/write at i/o address 3d1h with index at i/o address 3d0h set to 0bh 7-6 reserved (writable) these bits should always be written with the value of 0. 5 simple composite s y nc 0: output crt hsync on pin u3. 1: output crt hsync or'd with crt vsync on pin u3. effective only when xr0b bit 2 is set to 0. 4 reserved (0) 3 pin w4 and pin u6 select 0: enable vee (enavee) goes to pin w4. enable backlight (enabkl) goes to pin u6. (default). 1: enable vee (enavee) goes to pin u6. enable backlight (enabkl) goes to pin u6. 2 pin u3 and pin v2 select 0: crt hsync signal goes to pin u3. crt vsync signal goes to pin v2. (default) 1: composite sync (csync) goes to pin u3. modified vsync signal goes to pin v2. 1 pin y4 select 0: fp hsync (lp) signal goes to pin y4 (default) 1: fp display enable (fp blank#) goes to pin y4. 0 pin v6 select 0: fp "m" signal goes to pin v6 (default) 1: fp display enable (fp blank#) goes to pin v6. 76543210 reserved (00) comp sync reserved (0) pins w4 & u6 select (0) pins u3 & v2 select (0) pin y4 select (0) pin v6 select (0) .com .com .com .com .com 4 .com u datasheet
15-10 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr0c pin control 2 register read/write at i/o address 3d1h with index at i/o address 3d0h set to 0ch 7-6 gpio1 (c32khz) pin control 5 reserved (r/w) 4-3 gpio0 (acti) pin control 2-0 reserved (r/w) 76543210 gpio pin control (00) reserved (r/w) (0) gpio (acti) (00) reserved (r/w) (000) bits 7 6 gpio1 (c32khz) pin control 0 0 pin t4 is c32khz input (default). also see xrcf bit 3 0 1 reserved 1 0 pin t4 is general purpose input 1 (gpio1). data is read into xr63 bit 1 1 1 pin t4 is general purpose output 1 (gpio1). data comes from xr63 bit 1 bits 4 3 gpio0 (acti) pin control 0 0 pin v1 is acti output (default) 0 1 pin v1 is composite sync output 1 0 pin v1 is general purpose input 0 (gpio0). data is read into xr63 bit 0 1 1 pin v1 is general purpose output 0 (gpio0). data comes from xr63 bit 0 .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-11 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr0f activity timer control register read/write at i/o address 3d1h with index at i/o address 3d0h set to 0fh note: this register controls the activity timer functions. the activity timer is an internal counter that starts from a value programmed into this register (see bits 0-4 below) and is reset back to that count by read or write accesses to graphics memory or standard vga i/o. reading or writing extended vga registers does not reset the counter. if no accesses occur, the counter increments until the end of its programmed interval then activates either the enabkl pin or p anel off mode (as selected by bit-6 below). the timer count does not need to be reloaded once programmed and the timer enabled. any access to the chip with the timer timed out (enabkl active or p anel off mode active) resets the timer and deactivates the en abkl (or p anel off mode) pin. the activity timer uses the same clock as the power sequencing logic. the delay intervals assume a 37.5 khz clock. if using a 32khz input, scale the delay intervals accordingly. 7 enable activit y timer 0: disable activity timer (default on reset) 1: enable activity timer 6 activit y timer action 0: when the activity timer count is reached, the en abkl pin is activated (driven low to turn the backlight off) 1: when the activity timer count is reached, panel off mode is entered. 5 reserved (r/w) 4-0 activit y timer count for a 37.5khz power sequencing clock, the counter resolution is 28.1 seconds. the minimum programmed value of 0 results in 28.1 seconds delay, and the maximum value of 1eh results in a delay of 15 minutes. 76543210 activity timer timer action reserved (r/w) activity timer count .com .com .com .com .com 4 .com u datasheet
15-12 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr10 fp format 0 register read/write at i/o address 3d1h with index at i/o address 3d0h set to 10h 7 reserved (r/w) (reset state: 0) 6-4 shift clock divide (reset state: 000) these bits specify the frequency ratio between the internal dot clock (dclk) and flat panel shift clock (shfclk) signal. . 76543210 reserved (r/w) (0) shift clock divide (000) mono / color (00) panel type (00) color tft 4-bit pack color stn-ss bits [6-4] shfclk pixel / shfclk max bpp bits [6-4] shfclk pixel / shfclk max bpp 000 dclk 1 24 000 dclk 1 1/3 4 001 dclk/2 2 12 001 dclk/2 2 2/3 8 010 010 dclk/4 5 1/3 16 011 011 100 100 101 101 110 110 111 111 monochrome stn-dd w/o frame accel. monochrome stn-dd w/o frame accel. bits [6-4] shfclk pixel / shfclk max bpp bits [6-4] shfclk pixel / shfclk max bpp 000 dclk 1 2 000 001 dclk/2 2 4 001 dclk/2 2 2 010 dclk/4 4 8 010 dclk/4 4 4 011 dclk/8 8 16 011 dclk/8 8 8 100 100 dclk/16 16 16 101 101 110 110 111 111 4-bit pack color stn-dd w/frame accel. 4-bit pack color stn-dd w/o frame accel. bits [6-4] shfclk pixel / shfclk max bpp bits [6-4] shfclk pixel / shfclk max bpp 000 dclk 2 2/3 8 000 001 dclk/2 5 1/3 16 001 dclk/2 2 2/3 8 010 010 dclk/4 5 1/3 16 011 011 100 100 101 101 110 110 111 111 .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-13 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 6-4 shift clock divide (continued) monochrome tft 3-2 panel monochrome/color select for monochrome panels, these bits select the algorithm used to reduce 18 and 24-bit color data to 6 and 8-bit color data. 1-0 panel type 3-bit pack color stn-dd w/ frame accel. 3-bit pack color stn-dd w/o frame accel. bits [6-4] shfclk pixel / shfclk max bpp bits [6-4] shfclk pixel / shfclk max bpp 000 dclk 2 6 000 001 dclk/2 4 12 001 dclk/2 2 6 010 dclk/4 8 24 010 dclk/4 4 12 011 011 dclk/8 8 24 100 100 101 101 110 110 111 111 bits [6-4] shfclk pixel/shfclk max bpp 000 dclk 1 8 001 dclk/2 2 8 010 dclk/4 4 4 011 dclk/8 8 2 100 dclk/16 16 1 101 110 111 bits 3 2 panel monochrome/color select 0 0 monochrome panel: ntsc wei g htin g color reduction al g orithm (default) 0 1 monochrome panel: equivalent wei g htin g color reduction al g orithm 1 0 monochrome panel: green only color reduction al g orithm 1 1 color panel bits 1 0 panel type 0 0 single panel single drive (ss) (default) 0 1 reserved 1 0 reserved 1 1 dual panel dual drive (dd) .com .com .com .com .com 4 .com u datasheet
15-14 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr11 fp format 1 register read/write at i/o address 3d1h with index at i/o address 3d0h set to 11h 7 fp restrict dither (reset state: 0) 0: dithering can be enabled on all modes. 1: dithering can be enabled only on modes with more than 256 colors. 6-4 bits per pixel select (reset state: 000) notes: 1) no frc is the recommended setting when interfacing with color tft panel with more than 12 bits per pixel (4k color) or interfacing with monochrome panel with internal gray scaling. when no frc is chosen fr11 bits 6-4 should be programmed equal to the number of bits/ color of the panel. for example, a tft panel with 18 bits/pixel color uses 6 bits/color. fr11 bits 6-4 should be programmed to 110b. 2) 2-frame frc should be used with color tft panel with less than or equal to 12 bits per pixel (<4k color) or used with monochrome panel with internal gray scaling. when 2-frame frc is chosen fr11 bits 6-4 should be programmed equal to the number of bits/color of the panel plus 1. the extra bit is for the 2-frame frc. for example, a tft panel with 9 bits/pixel color uses 3 bits/color. fr11 bits 16-4 should be programmed equal to 100b. 3) 16-frame frc should be used with stn panel. to achieve 16-frame frc, 4 bits are needed for each color (r, g, b). 4) when 2-bit dither is disabled, the theoretical color/gray level per r, g, and b is calculated by using the formula below: theoretical color/gray level = 2 x where x is number of bits/color selected 5) when 2-frame frc or 16-frame frc is enabled the actual color/gray level per r, g, and b that can be achieved is less than the theoretical color/gray level. when 2-bit dither is enabled, the theoretical color/gray level per r, g, and b is calculated by using the formula below: theoretical color/gray level = 4 * 2 x where x is number of bits/color selected 76543210 res dither bits per pixel dither enable frc gra y /color without dither gra y /color with dither bits [6-4] #msbs used no frc 2-frame frc 16-frame frc bits [6-4] #msbs used no frc 2-frame frc 16-frame frc 000 0 000 0 001 1 2 001 1 5 010 2 4 3 010 2 13 9 011 3 8 5 011 3 29 25 100 4 16 15 16 100 4 61 57 61 101 5 32 31 101 5 125 121 110 6 64 110 6 253 111 8 256 111 8 .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-15 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 3-2 dither enable when 2-bit dither, 2-frame frc, or 16-frame frc is enabled the actual achievable color/gray level per r, g, and b is less than the theoretical color/gray level. 3-2dither enable 1-0 frame rate control (frc) frc is grayscale simulation on frame-by-frame basis to generate shades of gray or color on panels that do not generate gray/color levels internally. bits 3 2 dither enable 0 0 disable dithering (default) 0 1 enable 2-bit dithering 1 0 reserved for 4-bit dithering 1 1 reserved bits 1 0 frame rate control (frc) 0 0 no frc. this setting may be used with all panels, especially for panels which can generate shades of grey/color internally (default). 0 1 16-frame frc. this setting may be used for panels which do not support internal grayscaling such as color stn or monochrome stn panels. this setting simulates up to 16 gray/color levels per pixel as specified in fr11 bits 6-4. 1 0 2-frame frc. this setting may be used with color/ monochrome panels, especially for panels which can generate shades of gray/color internally. the valid number of bits/pixel is specified in fr11 bits 6-4. 1 1 2-frame frc. this setting may be used with color/ monochrome panels, especially for panels which can generate shades of gray/color internally. the valid number of bits/pixel is specified in fr11 bits 6-4. .com .com .com .com .com 4 .com u datasheet
15-16 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr12 fp format 2 register read/write at i/o address 3d1h with index at i/o address 3d0h set to 12h 7-6 fp data width 5 force fp data si g nals hi g h durin g vertical blank 0: flat panel data output signals are not forced high during vertical blanking. 1: flat panel data output signals are forced high during vertical blanking. 4 force fp hs y nc (lp) durin g vertical blank 0: fp display enable output is generated by inverting both fp vertical and horizontal blank therefore fp display enable will not toggle active during vertical blank time. fp hsync (lp) is not generated during vertical blank except when bit 3 is set to 1. this is the default after reset. 1: fp display enable output is generated by inverting fp horizontal blank only therefore fp display enable will be active during vertical blank time. fp hsync (lp) will also be active during vertical blank. this bit should be set only for ss panels which require fp hsync (lp) to be active during vertical blank time when bit 3 is 0. this bit should be reset when using dd panels or when bit 3 is 1. 76543210 fp data width force fp data hi g h force hsync fp blank# select clk mask stn-dd clock mask clock divide bits 7 6 fp data width 0 0 16-bit panel data width. for color tft panel this is the 565 rgb interface. this is the default after reset. 0 1 24-bit panel data width. for color the tft panel this is the 888 rgb interface. this setting can also be used for the 24- bit color stn-dd panel. 1 0 reserved. 1 1 36-bit panel data width (tft panels only). program 000 in shift clock divide bits of fr10. .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-17 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 3 fp display enable (fp blank#) select 0: the fp display enable is inactive during vertical blank time because the output comes from inverting both the fp vertical and horizontal blank. fp hsync is not generated during vertical blank except when bit 4 is set to 1. in 480-line dd panels, this option will generate exactly 240 fp hsync (lp) pulses. this is the default after reset. 1: the fp display enable is active during vertical blank time since the output comes from inverting the fp horizontal blank enable. fp hsync will also be active during vertical blank. this bit controls fp display enable (fp blank#) generation. this bit also affects fp hsync (lp) generation. 2 shift clock mask for stn-dd 0: allow shift clock output to toggle in first line of vertical blank. this is the default after reset. 1: force shift clock output low in first line of vertical blank. this is an option to eliminate dark lines in the middle of stn-dd panels. 1 shift clock mask 0: allow shift clock output to toggle outside the display enable interval. this is the default after reset. 1: force shift clock output low outside the display enable interval. 0 shift clock divide 0: shift clock to dot clock relationship is specified by fr10 bits 6-4. this is the default after reset. 1: shift clock is further divided by 2 and different video data is valid on the rising and falling edges of shift clock. .com .com .com .com .com 4 .com u datasheet
15-18 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr13 fp format 3 register read/write at i/o address 3d1h with index at i/o address 3d0h set to 13h 7-3 reserved (r/w) (reset state: 0000-0) 2 increase setup time 16-bit color stn-dd 0: normal data setup time with respect to shfclk falling edge (default). maximum shfclk frequency is dclk/2 (1:1 duty cycle). 1: extended data setup time with respect to shfclk falling edge. the setup time is increased by approximately half of a dot clock cycle. this is done by extending shfclk high time by half of a dot clock cycle. maximum shfclk frequency is dclk/2.5 with a 1.5:1 duty cycle. this bit is effective only for 16-bit color stn-dd when frame acceleration is enabled or for 8-bit color stn-dd when frame acceleration is disabled. 1-0 color stn pixel packin g this determines the type of pixel packing (the rgb pixel output sequence) for color stn panels. these bits must be programmed to 00 for monochrome stn panels and for all tft panels. 76543210 reserved (r/w) set up time pixel packin g bits 1 0 color stn pixel packin g 0 0 3-bit pack (default). 0 1 4-bit pack. 1 0 reserved. 1 1 extended 4-bit pack. bits fr10 bits 6-4 must be programmed to 001. this setting may only be used for 8-bit interface color stn ss panels. .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-19 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr16 frc option select register read/write at i/o address 3d1h with index at i/o address 3d0h set to 16h 7-3 reserved (r/w) these bits should always be written with 0's for future compatibility. 2 frc option 3 this affects 2-frame frc and normally should be set to 1. 0: frc data changes every frame 1: frc data changes every other frame 1 frc option 2 this affects 16-frame frc and normally should be set to 1. 0: 2x2 frc sub-matrix 1: 2x4 frc sub-matrix 0 frc option 1 this affects 16-frame frc and normally should be set to 1. 0: 15x31 frc matrix 1: 16x32 frc matrix 76543210 reserved (r/w) (0000:0) frc opt 3 (1) frc opt 2 (1) frc opt 1 (1) .com .com .com .com .com 4 .com u datasheet
15-20 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr17 polynomial frc control register read/write at i/o address 3d1h with index at i/o address 3d0h set to 17h this register sets the frc polynomial counters, which are row and column offsets for each panel type and are usually determined by trial and error. these values affect the quality of both 2-frame and the 16-frame frc algorithms and require readjustment when the horizontal or vertical parameters change, especially when the vertical total parameter is changed. 7-4 pol y nomial 'm' value 3-0 pol y nomial 'n' value fr18 fp text mode control register read/write at i/o address 3d1h with index at i/o address 3d0h set to 18h 7-2 reserved (0) 1 text enhancement 0 reserved (0) 76543210 polynomial m value polynomial n value 76543210 reserved (0000:00) text enhancement (00) bit 1 text enhancement 0 normal text (default) 1 text attribute 07h and 0fh are reversed to maximize the brightness of the normal dos prompt. this affects flat panel displays. .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-21 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr19 blink rate control register read/write at i/o address 3d1h with index at i/o address 3d0h set to 19h 7-6 character blink dut y c y cle these bits specify the character blink (also called 'attribute blink') duty cycle in text mode. for setting 00, the character blink period is equal to the cursor blink period. for all other settings, the character blink period is twice the cursor blink period (character blink is half as fast as cursor blink). 5-0 cursor blink rate (default = 03h) these bits specify the cursor blink period in terms of number of vsyncs (50% duty cycle). in text mode, the character blink period and duty cycle is controlled by bits 7-6 of this register. these bits should be programmed to: programmed value = ((actual value) / 2) - 1 note: in graphics mode, the pixel blink period is fixed at 32 vsyncs per cursor blink period with 50% duty cycle (16 on and 16 off). 76543210 char blink duty cycle cursor blink rate bits 7 6 character blink duty cycle 0 0 50% 0 1 25% 1 0 50% (default on reset) 1 1 75% .com .com .com .com .com 4 .com u datasheet
15-22 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr1a stn-dd buffering control register read/write at i/o address 3d1h with index at i/o address 3d0h set to 1ah 7-2 reserved (writable) these bits should always be set to the value of 0. 1 stn-dd frame acceleration enable enabling stn-dd frame acceleration doubles the screen refresh rate on an attached stn-dd panel relative to an attached crt (each crt frame corresponds to two stn-dd panel frames). the required memory bandwidth does not increase. in the simultaneous display mode, if the crt refresh rate is 60hz, the stn-dd panel refresh rate is 120hz when stn-dd frame acceleration is enabled. under the same conditions, the stn-dd panel refresh rate is 60hz when stn-dd frame acceleration is disabled. usually, stn-dd panels display higher quality images when stn-dd frame acceleration is enabled. if stn-dd frame acceleration is disabled, then the stn-dd buffer must be large enough to hold an entire frame consisting of 3-bits per pixel organized as 10 pixels per 32-bit dword. with stn-dd frame acceleration enabled, the required stn-dd buffer size is half this amount (only half a frame need be stored). 0 stn-dd bufferin g enable 0: disables stn-dd buffering. this is the default after reset. 1: enables stn-dd buffering. stn-dd buffering is required for stn-dd panel operation. for stn-ss panel operation, stn-dd buffering is not required so this bit must be set to 0. fr1e m (acdclk) control register read/write at i/o address 3d1h with index at i/o address 3d0h set to 1eh 7 m (acdclk) control 0: the m (acdclk) phase changes depending on bits 0-6 of this register 1: the m (acdclk) phase changes every frame if the frame accelerator is not used. if the frame accelerator is used, the m (acdclk) phase changes every other frame. this register is used only in flat panel mode. 6-0 m (acdclk) count (acdcnt) these bits define the number of hsyncs between adjacent phase changes on the m (acdclk) output. these bits are effective only when bit 7 = 0 and the contents of this register are greater than 2. programmed value = actual value - 2 76543210 reserved (writable) (0000:00) frame accel enable (0) bufferin g enable (0) 76543210 acdclk control m(acdclk) count (acdcnt) .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-23 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr1f diagnostic register read/write at i/o address 3d1h with index at i/o address 3d0h set to 1fh 7-6 reserved. the bios must pro g ram this bit to a 1. 5-4 pixel data pin dia g nostic output mode these bits control the output of pins: shfclk, lp, m, p bits 15-0 and ca bits 7-0. 00: normal operation (default) 01: output the following internal signals: signal pins pdclk flm rdde lp rdblank m rdvideo bits 23-16 ca bits 7-0 rdvideo bits 15-0 p bits 15-0 10: output the following internal signals on p bits 15-0 pddelete, pdgdck, phhstr[2:0], phremain bits 10-0 11: output the following internal signals on p bits 13-0 ss1romboe, fhc32khzi, fhxmemrq, t2ddspbp, t2ddspen, t2dhblank, mxsqrdbg bits 7-0 3 fp miscellaneous module control 2 0: normal operation. this is the default after reset. 1: enable the ring oscillator. the waveform is output on acti pin. in addition, it is also output on pin a25 if the configuration option of pin aa4 is chosen to output clocks on a24 and a25. 2 fp miscellaneous module control 2 0: normal operation. this is the default after reset. 1: bypass clock divider for testing purposes. 1b y pass vga palette 0: normal operation. this is the default after reset. 1: bypass internal vga palette. 0 fp interface dia g nostic mode 0: normal operation. this is the default after reset. 1: fp interface diagnostic mode 76543210 reserved (00) pixel data output mode (00) misc mod control 2 (0) misc mod control 2 (0) bypass vga palette (0) dia g nostic mode (0) .com .com .com .com .com 4 .com u datasheet
15-24 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr20 fp horizontal panel display size lsb register read/write at i/o address 3d1h with index at i/o address 3d0h set to 20h 7-0 fp horizontal panel size lsb this parameter signifies the end of fp horizontal display enable and the start of fp horizontal blank time relative to the start of fp horizontal display enable. the most significant bits are programmed in fr25 bits 3-0. in fp mode (fr01 bit 1 is set to 1), this parameter is counted using a counter which is clocked with fp dot clock divided by 8 in all modes and is independent of horizontal compensation. programmed value = actual value C 1 fr21 fp horizontal sync start lsb register read/write at i/o address 3d1h with index at i/o address 3d0h set to 21h 7-0 fp horizontal s y nc start lsb in fp mode, this parameter is counted using a counter which is clocked with the fp dot clock divided by 8 in all modes and is independent of horizontal compensation. this parameter signifies the start of crt hsync when not in crt mode (when fr01 bit 0 is set to 0). the most significant bits are programmed in fr25 bits 7-4. programmed value = actual value C 1 76543210 fp horizontal panel size lsb 76543210 fp horizontal sync start lsb .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-25 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr22 fp horizontal sync end register read/write at i/o address 3d1h with index at i/o address 3d0h set to 22h 7-5 reserved (r/w) (reset state: xxx) 4-0 fp horizontal s y nc end in fp mode, this parameter is counted using a counter which is clocked with the fp dot clock divided by 8 in all modes and is independent of horizontal compensation. this parameter signifies the end of crt hsync when not in crt mode (fr01 bit 0 is set to 0). only the 5 least significant bits are programmed. fr23 fp horizontal total lsb register read/write at i/o address 3d1h with index at i/o address 3d0h set to 23h 7-0 fp horizontal total lsb in fp mode, this parameter is counted using a counter which is clocked with the fp dot clock divided by 8 in all modes and is independent of horizontal compensation. this parameter signifies the end of fp horizontal blank time and the start of fp horizontal display enable relative to the start of the previous fp horizontal display enable, i.e., the total size from one horizontal enable to the next. the most significant bits are programmed in fr26 bits 3-0. programmed value = actual value C 5 76543210 reserved (r/w) fp horizontal sync end 76543210 fp horizontal total lsb .com .com .com .com .com 4 .com u datasheet
15-26 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr24 fp hsync (lp) delay lsb register read/write at i/o address 3d1h with index at i/o address 3d0h set to 24h 7-0 fp hs y nc (lp) dela y lsb in fp mode, this parameter is counted using a counter which is clocked with the fp dot clock divided by 8 in all modes and is independent of horizontal compensation. this register is effective when fr27 bit 7 is set to 0 and signifies the start of fp hsync (lp) measured from start of fp horizontal display enable. this allows fp hsync (lp) to be positioned independently from crt hsync. the most significant bits are programmed in fr26 bits 7-4. fr25 fp horizontal overflow 1 register read/write at i/o address 3d1h with index at i/o address 3d0h set to 25h 7-4 reserved (0) for fp horizontal s y nc start msb see description of fr20. 3-0 reserved (0) for fp horizontal panel size msb see description of fr21. 76543210 fp hsync (lp) delay lsb 76543210 reserved for sync start msb reserved for panel size msb .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-27 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr26 fp horizontal overflow 2 register read/write at i/o address 3d1h with index at i/o address 3d0h set to 26h 7-4 fp hs y nc (lp) dela y msb see description of fr23. 3-0 fp horizontal total msb see description of fr24. fr27 fp hsync (lp) width and disable register read/write at i/o address 3d1h with index at i/o address 3d0h set to 27h 7fp hs y nc (lp) dela y disable 0: fp hsync (lp) delay enable 1: fp hsync (lp) delay disable in fp mode, this parameter is counted using a counter which is clocked with the fp dot clock divided by 8 in all modes and is independent of horizontal compensation. 6-0 fp hs y nc (lp) width programmed value = actual value - 1 76543210 fp hsync (lp) delay msb fp horizontal total msb 76543210 delay disable fp hsync lp width .com .com .com .com .com 4 .com u datasheet
15-28 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr30 fp vertical panel size lsb register read/write at i/o address 3d1h with index at i/o address 3d0h set to 30h in fp mode (fr01 bit 1 is set to 1), this register is used to establish the end of fp vertical display enable and the start of fp vertical blank time. the most significant bits are programmed in fr35 bits 3-0. 7-0 fp vertical panel size lsb programmed value = actual value - 1 fr31 fp vertical sync start lsb (fr31) register read/write at i/o address 3d1h with index at i/o address 3d0h set to 31h 7-0 fp vertical s y nc start lsb in fp mode (fr01 bit 1 is set to 1), this register signifies the start of crt vsync (fr01 bit 0 is set to 0. the most significant bits are programmed in fr35 bits 7-4. programmed value = actual value C 1 76543210 fp vertical panel size lsb 76543210 fp vertical sync start lsb .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-29 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr32 fp vertical sync end register read/write at i/o address 3d1h with index at i/o address 3d0h set to 32h 7-4 reserved (r/w) (reset state: xxxx) in fp mode (fr01 bit 1 is set to 1), this register signifies the end of crt vsync. only the 4 least significant bits are programmed. 3-0 fp vertical s y nc end programmed value = actual value C 1 fr33 fp vertical total lsb register read/write at i/o address 3d1h with index at i/o address 3d0h set to 33h 7-0 vertical total lsb in fp mode (fr01 bit 1 is set to 1), this register is used to establish the end of fp vertical blank time and the start of fp vertical display enable. the most significant bits are programmed in fr36 bits 3-0. fp programmed value = actual value C 2 76543210 reserved fp vertical sync end 76543210 vertical totallsb .com .com .com .com .com 4 .com u datasheet
15-30 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr34 fp vsync (flm) delay lsb register read/write at i/o address 3d1h with index at i/o address 3d0h set to 34h 7-0 fp vs y nc (flm) dela y lsb in fp mode (fr01 bit 1 is set to 1), this register is effective when fr37 bit 7 is set to 0 and fr37 bit 6 is set to 0. this register signifies the start of fp vsync (flm) measured from start of crt vsync which is programmed in fr31. this allows fp vsync (flm) to be located in a different position from crt vsync. the most significant bits are programmed in fr36 bits 7-4. programmed value = actual value C 1 fr35 fp vertical overflow 1 register read/write at i/o address 3d1h with index at i/o address 3d0h set to 35h 7-4 fp vertical s y nc start msb see description of fr30. 3-0 fp vertical panel size msb see description of fr31. 76543210 fp vsync (flm) delaylsb 76543210 vertical sync start msb vertical panel size msb .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-31 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr36 fp vertical overflow 2 register read/write at i/o address 3d1h with index at i/o address 3d0h set to 36h 7-4 fp flm dela y bits 11-8 see description of fr34. 3-0 fp vertical total msb see description of fr33. fr37 fp vsync (flm) disable register read/write at i/o address 3d1h with index at i/o address 3d0h set to 37h when the fp display engine is enabled (fr01 bit one is set to 1) it uses this register. 7fp vs y nc (flm) dela y disable this bit is effective when fr37 bit 6 is set to 0. 0: fp vsync (flm) delay enable 1: fp vsync (flm) delay disable 6fp vs y nc (flm) select 0: fp vsync (flm) is generated using fr37 bit 7 and fp vsync (flm) delay (fr36 bits 6-4 and fr34) . 1: fp vsync (flm) is the same as crt vsync. fr37 bit 7 is ignored in this case. 5-3 fp vs y nc (flm) width. these bits are effective only if bit 6 is 0. programmed value = actual value -1 2-0 reserved these bits should always be written to with a value of zero. 76543210 fp flm delay msb fp vertical total msb 76543210 flm delay flm select fp vsync (flm) width reserved (000) .com .com .com .com .com 4 .com u datasheet
15-32 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr40 horizontal compensation register read/write at i/o address 3d1h with index at i/o address 3d0h set to 40h this register is used in fp mode (fr01 bit 1 set to 1) 7-6 reserved (r/w) 5 fp enable graphics horizontal compensation (eghc) 0: disable graphics mode horizontal compensation. 1: enable graphics mode horizontal compensation which consists of horizontal stretching and fr41 is used to specify stretching for different horizontal resolutions. this bit is effective only when bit 0 is 1. 4-3 text horizontal compensation priorit y (thcp) these bits are effective only when bit 0 is 1 and bit 2 is 1. these bits determine the text mode compression/stretching method to be applied if horizontal panel size is wide enough. if after applying the specified text compression/stretching, the horizontal panel size is still wider than the stretched image then further stretching will be applied using the same algorithm used for horizontal graphics compensation. 76543210 reserved (00) eghc (0) thcp (0:0) ethc (0) ehc (0) ehcp (0) bits 4 3 text horizontal compensation priorit y (thcp) 0 0 allow 9-dot compression to 8-dot if needed. if horizontal panel size is wide enough, 8-dot text remains 8-dot text and 9-dot text remains 9-dot text. if horizontal panel size is not wide enough, then 8-dot text remains 8-dot text and 9-dot text is forced to 8-dot text. this is the default after reset. 0 1 no compression or expansion. 8-dot text remains 8-dot text and 9-dot text remains as 9-dot text regardless of horizontal panel size. 1 0 allow 8-dot expansion to 9-dot, or 9-dot compression to 8-dot, depending on horizontal panel size. if horizontal panel size is wide enough, 8-dot text is forced to 9-dot text and 9-dot text remains 9-dot text. if horizontal panel size is not wide enough then 8-dot text remains 8-dot text and 9-dot text is forced to 8- dot text. 1 1 allow 8-dot and 9-dot expansion to 10-dot, or 8-dot expansion to 9-dot, or 9-dot compression to 8-dot, depending on horizontal panel size. if horizontal panel size is wide enough, 8-dot text is forced to 10-dot text and 9-dot text is forced to 10- dot text. otherwise, if horizontal panel size is wide enough, 8-dot text is forced to 9-dot text and 9-dot text remains 9-dot text. if horizontal panel size is not wide enough, then 8-dot text remains 8-dot text and 9-dot text is forced to 8-dot text. .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-33 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 2 enable text horizontal compensation (ethc) 0: disable text mode horizontal compensation. this is the default after reset. 1: enable text mode horizontal compensation. this bit is effective only when bit 0 is 1. text mode horizontal compensation priority/method is specified in bits 4-3. 1 enable horizontal centering (ehc) 0: disable horizontal centering. this is the default after reset. 1: enable horizontal centering. horizontal left and right borders will be computed automatically. 0 enable horizontal compensation (ehcp) 0: disable horizontal compensation. this is the default after reset. 1: enable horizontal compensation. .com .com .com .com .com 4 .com u datasheet
15-34 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr41 horizontal stretching register read/write at i/o address 3d1h with index at i/o address 3d0h set to 41h this register is used when fr01 bit 1 is set to 1 and fr40 bit 0 is set to 1 and graphics mode is enabled. this register must be set before fr40. 7-4 reserved 1 3 reserved (r/w) (reset state: 0) 2 fp enable horizontal stretchin g for 1024-column graphics mode 0: disable horizontal stretching for 1024-column graphics mode. 1: enable horizontal stretching for 1024-column graphics mode. note: that 1024-column graphics mode includes 512-column graphics mode with horizontal pixel doubling enabled. 1 fp enable horizontal stretchin g for 800-column graphics mode 0: disable horizontal stretching for 800-column graphics mode. 1: enable horizontal stretching for 800-column graphics mode. note: that 800-column graphics mode includes 400-column graphics mode with horizontal pixel doubling enabled. 0 fp enable horizontal stretchin g for 640-column graphics mode 0: disable horizontal stretching for 640-column graphics mode. 1: enable horizontal stretching for 640-column graphics mode. note: the 640-column graphics mode includes 320-column graphics mode with horizontal pixel doubling enabled. 76543210 reserved (0000) reserved (r/w) hor stretch 1024 col hor stretch 800 col hor stretch 640 col .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-35 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr48 vertical compensation register read/write at i/o address 3d1h with index at i/o address 3d0h set to 48h when the fp display engine is enabled (when fr01 bit 1 is set to 1), it uses this register. 7-5 reserved (r/w) (reset state: 0) 4 enable text mode vertical stretchin g (etvs) 0: disable vertical stretching (default) 1: enable vertical stretching 3 text mode vertical stretchin g priorit y 0: priority: etvs, evlr (default) 1: priority: evlr, etvs this bit is effective in text modes if bits 2 and 4 are set. 2 enable vertical line replication (evlr) 0: disables vertical line replication (default) 1: enables vertical line replication this bit is effective in both text and graphics modes. 1 enable vertical centerin g 0: disables vertical centering (default) 1: enables vertical centering this bit is effective only when bit 0 is "1". 0 enable vertical compensation (evcp) 0: disables vertical compensation feature (default) 1: enables vertical compensation feature 76543210 reserved (r/w) (000) etvs (0) text mode stretch (0) evlr (0) vertical centerin g (0) evcp (0) .com .com .com .com .com 4 .com u datasheet
15-36 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr49-4c text mode vertical stretching register read/write at i/o address 3d1h with index at i/o address 3d0h set to 49h-4ch 7-0 replication specifications font lines beyond 16 are not replicated. this register specifies the new text mode vertical stretching (along with fr4a, fr4b, fr4c). fr49(msb), fr4a(lsb) and fr4b (msb), fr4c(lsb) constitute two 16 bit registers. each of the 16 pairs of bits specify scan line replication as shown above. fr49: text mode vertical stretching 0 msb fr4a: text mode vertical stretching 0 lsb fr4b: text mode vertical stretching 1 msb fr4c: text mode vertical stretching 1 lsb fr4d vertical line replication register read/write at i/o address 3d1h with index at i/o address 3d0h set to 4dh this register is used in fp mode (fr01 bit 1 set to 1) and when vertical line replication is enabled. the 4 bit number specifies the number of lines between replicated lines. double scanned lines are counted. the state machine starts stretching by using the lower nibble value. if the stretched display does not fit it uses the next higher value. the process continues until the count is equal to upper nibble value or the display fits. the lower nibble value must be less than or equal to upper nibble value. set this register before fr40. 7-4 fp vertical line replication hei g ht hi g h (vlrhh) 3-0 fp vertical line replication hei g ht low (vlrhl) 76543210 replication specification bits 7 0 replication specifications 0 0 no replication 0 1 replicate once 1 0 replicate twice 1 1 replicate three times 76543210 vlrhh vlrhl .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-37 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr4e selective vertical stretching disable register read/write at i/o address 3d1h with index at i/o address 3d0h set to 4eh this register is used to selectively disable vertical stretching based on the vertical display end parameter. the register is qualified by master enable bits in fr48. set this register before setting fr40. 7-6 reserved (r/w) (reset state: xx) 5 disable 600-line graphics stretchin g 0: disables stretching 1: enables stretching 4 disable 480-line graphics stretchin g 0: disables stretching 1: enables stretching 3 disable 400-line graphics stretchin g 0: disables stretching 1: enables stretching 2 disable 350-line graphics stretchin g 0: disables stretching 1: enables stretching 1 disable 400-line text stretchin g 0: disables stretching 1: enables stretching 0 disable 350-line text stretchin g 0: disables stretching 1: enables stretching 76543210 reserved (00) disable 600 graph disable 480 graph disable 400 graph disable 350 graph disable 400 text disable 350 text .com .com .com .com .com 4 .com u datasheet
15-38 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr70 tmed red seed register read/write at i/o address 3d1h with index at i/o address 3d0h set to 70h 7-0 tmed red seed the 8-bit value written to this register specifies the seed value used in the tmed algorithm for red pixel data to improve images on dual-scan passive matrix lcd panels. fr71 tmed green seed register read/write at i/o address 3d1h with index at i/o address 3d0h set to 71h 7-0 tmed green seed the 8-bit value written to this register specifies the seed value used in the tmed algorithm for green pixel data to improve images on dual-scan passive matrix lcd panels. fr72 tmed blue seed register read/write at i/o address 3d1h with index at i/o address 3d0h set to72h 7-0 tmed blue seed the 8-bit value written to this register specifies the seed value used in the tmed algorithm for blue pixel data to improve images on dual-scan passive matrix lcd panels. 76543210 tmed red seed 76543210 tmed green seed 76543210 tmed blue seed .com .com .com .com .com 4 .com u datasheet
flat panel registers 15-39 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr73 tmed control register read/write at i/o address 3d1h with index at i/o address 3d0h set to 73h note: the recommended default value to which this register should be set is f5h. 7tmed enable 0: disables tmed. 1: enables tmed. 6 tmed scheme select 0: selects tmed energy distribution scheme 2. 1: selects tmed energy distribution scheme 1. 5-4 tmed shades per color select 00: selects 33 shades for red, 65 shades for green, and 33 shades for blue. 01: selects 65 shades for red, green, and blue. 10: selects 129 shades for red, green, and blue. 11: selects 256 shades for red, green, and blue. 3-0 tmed horizontal beat suppression the value written to these 4 bits specifies the horizontal beat suppression factor. 76543210 tmed enable scheme select shades per color select horizontal beat suppression .com .com .com .com .com 4 .com u datasheet
15-40 flat panel registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 fr74 tmed2 control register read/write at i/o address 3d1h with index at i/o address 3d0h set to 74h note: the recommended default value to which this register should be set is 5fh. 7-4 vertical beat suppression the value written to these 4 bits specifies the vertical beat suppression factor. 3 tmed2 method 1 enable 0: disables tmed2 method 1. 1: enables tmed2 method 1. 2 tmed2 method 2 enable 0: disables tmed2 method 2. 1: enables tmed2 method 2. 1 tmed2 method 1 scheme select 0: selects scheme 1. 1: selects scheme 2. 0 tmed2 method 2 scheme select 0: selects scheme 1. 1: selects scheme 2. 76543210 vertical beat suppression method 1 enable method 2 enable method 1 scheme sel method 2 scheme sel .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 16 multimedia registers table 16-1: multimedia registers name register function access via 3d3h index at 3d2h set to value mr00 module capability re g ister read-only 00h mr01 secondary capability re g ister read-only 01h mr02 capture control 1 re g ister read/write 02h mr03 capture control 2 re g ister read/write 03h mr04 capture control 3 re g ister read/write 04h mr05 capture control 4 re g ister read/write 05h mr06-08 capture memory address ptr1 re g isters read/write 06h - 08h mr09-0b capture memory address ptr2 re g isters read/write 09h - 0bh mr0c capture memory width (span) re g ister read/write 0ch mr0e capture window x-left low re g ister read/write 0eh mr0f capture window x-left hi g h re g ister read/write 0fh mr10 capture window x-right low re g ister read/write 10h mr11 capture window x-right hi g h re g ister read/write 11h mr12 capture window y-top low re g ister read/write 12h mr13 capture window y-top hi g h re g ister read/write 13h mr14 capture window y-bottom low re g ister read/write 14h mr15 capture window y-bottom hi g h re g ister read/write 15h mr16 h-scale re g ister read/write 16h mr17 v-scale re g ister read/write 17h mr18 capture frame count re g ister read/write 18h mr1e playback control 1 re g ister read/write 1eh mr1f playback control 2 re g ister read/write 1fh mr20 playback control 3 re g ister read/write 20h mr21 double buffer status re g ister read/write 21h mr22-24 playback memory address ptr1 re g isters read/write 22h -24h mr25-27 playback memory address ptr2 re g isters read/write 25h - 27h mr28 playback memory line fetch width re g ister read/write 28h mr2a playback window x-left low re g ister read/write 2ah mr2b playback window x-left hi g h re g ister read/write 2bh mr2c playback window x-right low re g ister read/write 2ch mr2d playback window x-right hi g h re g ister read/write 2dh mr2e playback window y-top low re g ister read/write 2eh mr2f playback window y-top hi g h re g ister read/write 2fh mr30 playback window y-bottom low re g ister read/write 30h mr31 playback window y-bottom hi g h re g ister read/write 31h mr32 h-zoom re g ister read/write 32h mr33 v-zoom re g ister read/write 33h mr34 memory line out total re g ister read/write 34h mr3c color key control 1 re g ister read/write 3ch mr3d-3f color keys re g isters read/write 3dh - 3fh mr40-42 color key masks re g isters read/write 40h - 42h mr43 line count low re g ister read-only 43h mr44 line count hi g h re g ister read-only 44h .com .com .com .com .com 4 .com u datasheet
16-2 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr00 module capability register read-only at i/o address 3d3h with index at address 3d2h set to 00h 7-2 reserved 1 capture available 0: absent 1: included 0pla y back available 0: absent 1: included mr01 secondary capability register read-only at i/o address 3d3h with index at address 3d2h set to 01h 7-0 reserved 76543210 reserved capture playback 76543210 reserved .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr02 capture control 1 register read/write at i/o address 3d3h with index at address 3d2h set to 02h default = 00h 7 field detect method 0: trailing edge of v 1: leading edge of v 6 field detect polarit y 0: normal 1: inverted 5 vsync polarit y 0: low asserted 1: high asserted 4 hsync polarit y 0: low asserted 1: high asserted 3 rgb mode 0: rgb16 1: rgb15 2 color 0: yuv 1: rgb 1 reserved 0 interlace 0: interlace enabled 1: non-interlace 76543210 field det method field det polarity vsync polarity hsync polarity rgb mode color reserved interlace .com .com .com .com .com 4 .com u datasheet
16-4 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr03 capture control 2 register read/write at i/o address 3d3h with index at address 3d2h set to 03h default = 00h 7-6 v scalin g method 00: normal 01: reserved 10: overwrite 11: reserved 5 y-scale enable 0: disabled 1: scaled on v 4 x-scale enable 0: disabled 1: scaled on h 3 field select 0: field 0 1: field 1 bit 3 is only effective when bit 2 is set to 1. 2 frame/field capture 0: frame 1: field 1 continuous/sin g le frame/field video data capture 0: causes the continuous capturing of video data from the video data port. 1: causes the capture of a single frame or field (depending on the setting of bit 2 of this register) from the video data port. 0 capture enable 0: stop 1: start 76543210 v scalin g method y-scale x-scale field select frame/field capture continuous/ sin g le capture enable .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr04 capture control 3 register read/write at i/o address 3d3h with index at address 3d2h set to 04h default = 00h 7 capture frame/field drop enable 0: causes the capture of video data from the video data port without dropping frames or fields. 1: causes the dropping of the number of frames/fields specified in the capture frame/field drop count register (mr18) between every frame/field that is saved. 6 shift fields down 0: keeps the video playback window at its normal location -- i.e., it is not shifted vertically. 1: shifts the odd fields in the video playback window down by one scanline. 5 double buffer pointer select 0: ptr1 in use 1: ptr2 in use 4 double buffer enable 0: double buffering disabled 1: double buffering enabled 3 double buffer mode select 0: cpu forced 1: v locked 2 horizontal filter enable 0: no filter 1: filter pixels with horizontal filter 1 y-capture direction 0: normal: top to bottom 1: flipped: bottom to top 0 x-capture direction 0: normal: left to right 1: mirrored: right to left note: changing the x- or y- capture direction (bits 1-0) will also require a change in the acquisition memory address pointer. 76543210 cap frm/fld drop enable shift fields down dbl buffer ptr select dbl buffer enable dbl buffer mode select horiz filter enable y-capture direction x-capture direction .com .com .com .com .com 4 .com u datasheet
16-6 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr05 capture control 4 register read/write at i/o address 3d3h with index at address 3d2h set to 05h default = 00h 7 input b y te swap 0: y on low 8 input pins, uv on high 8 input pins 1: y on high 8 input pins, uv on low 8 input pins (vesa style) 6 uv swap 0: normal uv sequence 1: exchange u and v 5 pixel qualifier polarit y 0: non-inverted 1: inverted 4 pixel qualifier enable 0: continuous pixels gated by blank 1: pixen qualifies valid pixels 3 input vsync (read onl y ) (after polarity correction) 2 last frame captured (read onl y ) 0: ptr1 1: ptr2 (effective only with double buffering) 1 current address pointer (read onl y ) 0: ptr1 (acquisition memory pointer 1) 1: ptr2 (acquisition memory pointer 2) indicates which buffer is being captured if double buffering is enabled. 0 actual capture (read onl y ) 0: hardware frame capture stopped 1: hardware frame capture active (synchronized to v) 76543210 input byte swap uv swap pixel qual polarity pixel qual enable input vsync last frame captured current address actual capture .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr06 capture memory address ptr1 low register read/write at i/o address 3d3h with index at address 3d2h set to 06h 7-3 capture memor y address ptr1 low bits 7-3 2-0 reserved mr07 capture memory address ptr1 mid register read/write at i/o address 3d3h with index at address 3d2h set to 07h 7-0 capture memor y address ptr1 mid bits 15-8 mr08 capture memory address ptr1 high register read/write at i/o address 3d3h with index at address 3d2h set to 08h 7-6 reserved 5-0 capture memor y address ptr1 hi g h bits 21-16 76543210 capture memory address ptr1 low bits 7-3 reserved (000) 76543210 capture memory address ptr1 mid bits 15-8 76543210 reserved (00) capture memory address ptr1 hi g h bits 21-16 .com .com .com .com .com 4 .com u datasheet
16-8 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr09 capture memory address ptr2 low register read/write at i/o address 3d3h with index at address 3d2h set to 09h 7-3 capture memor y address ptr2 low bits 7-3 2-0 reserved mr0a capture memory address ptr2 mid register read/write at i/o address 3d3h with index at address 3d2h set to 0ah 7-0 capture memor y address ptr2 mid bits 15-8 mr0b capture memory address ptr2 high register read/write at i/o address 3d3h with index at address 3d2h set to 0bh 7-6 reserved 5-0 capture memor y address ptr2 hi g h bits 21-16 76543210 capture memory address ptr2 low bits 7-3 reserved (000) 76543210 capture memory address ptr2 mid bits 15-8 76543210 reserved (00) capture memory address ptr2 hi g h bits 21-16 .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr0c capture line memory storage width register read/write at i/o address 3d3h with index at address 3d2h set to 0ch 7-0 memor y width (span) bits 7-0 this value is calculated as follows: ( (width of line in pixels) / (number of pixels per quadwords) ) - 1. mr0e capture window x-left low register read/write at i/o address 3d3h with index at address 3d2h set to 0eh 7-0 acquisition window x-left bits 7-0 mr0f capture window x-left high register read/write at i/o address 3d3h with index at address 3d2h set to 0fh 7-3 reserved 2-0 capture window x-left bits 10-8 76543210 memory width (span) bits 7-0 76543210 capture window x-left bits 7-0 76543210 reserved capture window x-left bits 10-8 .com .com .com .com .com 4 .com u datasheet
16-10 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr10 capture window x-right low register read/write at i/o address 3d3h with index at address 3d2h set to 10h 7-0 capture window x-right bits 7-0 mr11 capture window x-right high register read/write at i/o address 3d3h with index at address 3d2h set to 11h 7-3 reserved 2-0 capture window x-right [10:08] 76543210 capture window x-right low bits 7-0 76543210 reserved capture window x-right hi g h bits 10-8 .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-11 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr12 capture window y-top low register read/write at i/o address 3d3h with index at address 3d2h set to 12h 7-0 capture window y-top bits 7-0 mr13 capture window y-top high register read/write at i/o address 3d3h with index at address 3d2h set to 13h 7-3 reserved 2-0 capture window y-top bits 10-8 76543210 capture window ytop bits 7-0 76543210 reserved capture window ytop bits 10-8 .com .com .com .com .com 4 .com u datasheet
16-12 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr14 capture window y-bottom low register read/write at i/o address 3d3h with index at address 3d2h set to 14h 7-0 capture window y-bottom bits 7-0 mr15 capture window y-bottom high register read/write at i/o address 3d3h with index at address 3d2h set to 7-3 reserved 2-0 capture window y-bottom bits 10-8 76543210 capture window y-bottom bits 7-0 76543210 reserved capture. window y-bottom bits 10-8 .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-13 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr16 h-scale register read/write at i/o address 3d3h with index at address 3d2h set to 16h 7-0 h-scale bits 7-0 mr17 v-scale register read/write at i/o address 3d3h with index at address 3d2h set to 17h 7-0 v-scale bits 7-0 mr18 capture frame/field count register read/write at i/o address 3d3h with index at !/o address 3dh2 set to 18h 7-0 capture frame/field drop count when the dropping of frames/fields is enabled by setting bit 2 of the capture control 2 reg- ister (mr03) to 1, these 8 bits set the number of captured frames/fields to be dropped be- tween every frame/field that is captured and saved. 76543210 h-scale bits 7-0 76543210 v-scale bits 7-0 76543210 aq capture frame/field count .com .com .com .com .com 4 .com u datasheet
16-14 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr1e playback control 1 register read/write at i/o address 3d3h with index at address 3d2h set to 1eh default = 00h 7-5 reserved 4pla y back interlace enable 0: non-interlaced 1: interlaced 3v-zoom enable 0: normal 1: video playback is zoomed to the degree specified in the v-zoom register (mr33). 2h-zoom enable 0: normal 1: video playback is zoomed to the degree specified in the h-zoom register (mr32). 1y-pla y back direction 0: normal: top to bottom 1: flipped: bottom to top be sure to change memory pointer value of ptr1 (mr22 - mr24) and/or ptr2 (mr25 - mr27) if flipped. 0x-pla y back direction 0: normal: left to right 1: mirrored: right to left be sure to change memory pointer value of ptr1 (mr22 - mr24) and/or ptr2 (mr25 - mr27) if mirrored. 76543210 reserved playback interlace v-zoom enable h-zoom enable y-playback direction x-playback direction .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-15 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr1f playback control 2 register read/write at i/o address 3d3h with index at address 3d2h set to 1fh default = 00h 7 v interpolate enable 0: disable 1: enable 6 v interpolate mode 0: de-block 1: running average (when bit 7 is set) 5 h interpolate enable 4 reserved 3 color mode select 0: yuv 1: rgb see color mode table below. 2 reserved 1 uv si g n 0: uv unsigned (signed offset) 1: uv signed (2's complement) 0 color t y pe select (see bit 3) 0: normal (u and v, or rgb16) 1: exchange u and v positions, or rgb15 color mode table for bit-3: 76543210 v inter enable v inter mode h inter enable reserved color mode select reserved uv si g n color type select bit 3 2 1 0 color format 0 x 0 0 yuv 4:2:2 0 x 0 1 yvu 4:2:2; uv swap 0 x 1 0 yuv 4:2:2; uv=2's comp 0 x 1 1 yvu 4:2:2; uv=2'comp, uv swap 1 x x 0 rgb16; r5g6b5 (b=lsb) 1 x x 1 rgb15, xr5g5b5 (b=lsb) .com .com .com .com .com 4 .com u datasheet
16-16 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr20 playback control 3 register read/write at i/o address 3d3h with index at address 3d2h set to 20h default = 00h 7pla y back vertical auto-centerin g enable 0: allow software to employ a delay to properly center the playback window vertically. this is done usually via bit 4 of the pixel pipeline configuration register 1 (xr81). 1: activate a hardware-based auto-centering mechanism. 6pla y back width source 0: uses mr28 for playback width 1: uses mr34 for playback width 5pla y back pointer select 1 0: the pointer to the location in the frame buffer from which frames/fields of video data are played back is selected by bit 4 of this register. 1: the pointer to the location in the frame buffer from which frames/fields of video data are played back is controlled by bit 3 of this register. 4 cpu double buffer fla g 0: playback memory address ptr1 1: playback memory address ptr2 3pla y back pointer select 2 0: the pointer to the location in the frame buffer from which frames/fields of video data are played back is selected by bit 4 of this register. 1: the pointer to the location in the frame buffer from which frames/fields of video data are played back toggles between the addresses indicated by ptr1 and ptr2 after each frame/ field captured. 2 double buffer tri gg er 0: retains old ptr. 1: takes new ptr on next vsync if bit 5 is set to 1. 1-0 reserved 76543210 playback vert. auto- center enable playback width source playback pointer select cpu double buffer fla g playback pointer select 2 double buffer tri gg er reserved bit 5 4 3 playback pointer select 0 0 x selects playback memory pointer address 1 0 1 x selects playback memory pointer address 2 1 0 0 selects playback memory pointer address 1 1 0 1 pointer to the location from which frames/fields of data are read to gg les between addresses indicated by ptr1and ptr2 after each frame/field captured 1 1 0 selects playback memory pointer address 2 1 1 1 pointer to the location from which frames/fields of data are read to gg les between addresses indicated by ptr1and ptr2 after each frame/field captured .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-17 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr21 double buffer status register read/write at i/o address 3d3h with index at address 3d2h set to 21h 7-2 reserved 1 double buffer pointer in use 0: ptr1 1: ptr2 0 double buffer tri gg er status 0: taken 1: pending 76543210 reserved buffer pointer buffer tri gg er .com .com .com .com .com 4 .com u datasheet
16-18 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr22 playback memory address ptr1 low register read/write at i/o address 3d3h with index at address 3d2h set to 22h 7-3 pla y back memor y address ptr1 low bits 7-3 2-0 reserved mr23 playback memory address ptr1 mid register read/write at i/o address 3d3h with index at address 3d2h set to 23h 7-0 pla y back memor y address ptr1 mid bis 15-8 mr24 playback memory address ptr1 high register read/write at i/o address 3d3h with index at address 3d2h set to 24h 7-6 reserved 5-0 pla y back memor y address ptr1 hi g hbits 21-16 76543210 playback memory address ptr1 low bits 7-3 reserved (000) 76543210 playback memory address ptr1 mid bits 15-8 76543210 reserved (00) playback memory address ptr1 hi g h bits 21-16 .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-19 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr25 playback memory address ptr2 low register read/write at i/o address 3d3h with index at address 3d2h set to 25h 7-3 pla y back memor y address ptr2 bits 7-3 2-0 (forced to zero) mr26 playback memory address ptr2 mid register read/write at i/o address 3d3h with index at address 3d2h set to 26h 7-0 pla y back memor y address ptr2 bits 15-8 mr27 playback memory address ptr2 high register read/write at i/o address 3d3h with index at address 3d2h set to 27h 7-6 reserved 5-0 pla y back memor y address ptr2 bits 21-16 76543210 playback memory address ptr2 bits 7-3 forced to zero (000) 76543210 playback memory address ptr2 bits 15-8 76543210 reserved (00) playback memory address ptr2 bits 21-16 .com .com .com .com .com 4 .com u datasheet
16-20 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr28 playback line memory fetch width register read/write at i/o address 3d3h with index at address 3d2h set to 28h 7-0 pla y back line memor y fetch width bits 7-0 these 8 bits specify the number of quadwords read by the playback engine from the frame buffer to display a horizontal lines worth of video data. normally, this value is set equal to the actual number of quadwords required to store a horizontal lines worth of video data captured from the video data port -- i.e., normally this value is the same as that of register mr0c. if bit 6 of the playback control 3 register (mr0c) is set to 0 then this register also specifies the number of quadwords out of a horizontal lines worth of video data that is actually played back, starting at the left-most edge of the video playback window. this value is calculated as follows: ( (width of line in pixels) / (number of pixels per quadwords) ) - 1. mr2a playback window x-left low register read/write at i/o address 3d3h with index at address 3d2h set to 2ah default = 00h 7-0 pla y back window x-left bits 7-0 mr2b playback window x-left high register read/write at i/o address 3d3h with index at address 3d2h set to 2bh default = 00h 7-3 reserved 2-0 pla y back window x-left bits 10-8 76543210 playback line memory fetch width bits 7-0 76543210 playback window x-left bits 7-0 76543210 reserved playback window x-left bits 10-8 .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-21 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr2c playback window x-right low register read/write at i/o address 3d3h with index at address 3d2h set to 2ch default = 00h 7-0 pla y back window x-right bits 7-0 mr2d playback window x-right high register read/write at i/o address 3d3h with index at address 3d2h set to 2dh default = 00h 7-3 reserved 2-0 pla y back window x-right bits 10-8 76543210 playback window x-right bits 7-0 76543210 reserved playback window x-right bits 10-8 .com .com .com .com .com 4 .com u datasheet
16-22 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr2e playback window y-top low register read/write at i/o address 3d3h with index at address 3d2h set to 2eh default = 00h 7-0 pla y back window y-top bits 7-0 mr2f playback window y-top high register read/write at i/o address 3d3h with index at address 3d2h set to 2fh default = 00h 7-3 reserved 2-0 pla y back window y-top bits 10-8 76543210 playback window y-top bits 7-0 76543210 reserved playback window y-top bits 10-8 .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-23 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr30 playback window y-bottom low register read/write at i/o address 3d3h with index at address 3d2h set to 30h default = 00h 7-0 pla y back window y-bottom bits 7-0 mr31 playback window y-bottom high register read/write at i/o address 3d3h with index at address 3d2h set to 31h default = 00h 7-3 reserved 2-0 pla y back window y-bottom bits 10-8 76543210 playback window y-bottom bits 7-0 76543210 reserved playback window y-bottom bits 10-8 .com .com .com .com .com 4 .com u datasheet
16-24 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr32 h-zoom register read/write at i/o address 3d3h with index at address 3d2h set to 32h default = 00h 7-2 h-zoom when enabled by setting bit 2 of the playback control 1 register (mr1e) to 1, these six bits are used to specify the zoom factor by which the playback image is magnified. zoom factor = 100h / (value of bits 7 to 2 of this register) examples of programmed values: 1-0 reserved these bits always return the value of 0 when read. mr33 v-zoom register read/write at i/o address 3d3h with index at address 3d2h set to 33h default = 00h 7-2 v-zoom when enabled by setting bit 3 of the playback control 1 register (mr1e) to 1, these six bits are used to specify the zoom factor by which the playback image is magnified. zoom factor = 100h / (value of bits 7 to 2 of this register) examples of programmed values: 1-0 reserved these bits always return the value of 0 when read. 76543210 h-zoom reserved (00) bits 7 6 5 4 3 2 resultin g zoom factor 1 0 0 0 0 0 ma g nify by 2 0 1 0 0 0 0 ma g nify by 4 0 0 1 0 0 0 ma g nify by 8 76543210 v-zoom reserved (00) bits 7 6 5 4 3 2 resulting zoom factor 1 0 0 0 0 0 ma g nify by 2 0 1 0 0 0 0 ma g nify by 4 0 0 1 0 0 0 ma g nify by 8 .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-25 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr34 playback line display width register read/write at i/o address 3d3h with index at address 3d2h set to 34h default = 00h 7-0 pla y back line displa y width bits 7-0 if bit 6 of the playback control 3 register (mr0c) is set to 1, then this register specifies the number of quadwords out of a horizontal lines worth of video data that is actually played back, starting at the left-most edge of the video playback window. this value is calculated as follows: ( (width of line in pixels) / (number of pixels per quad- words) ) - 1. mr3c color key control 1 register read/write at i/o address 3d3h with index at address 3d2h set to 3ch default = 00h 7 lsb (bit 0) disable 0: normal "blue bit 0" 1: red, green, and blue bit 0 is forced to 0 at mmux output (for masking display of key when using 16/24 bit overlay key). 6 16-bit overla y ke y 0: normal color key 1: color key green_7 is routed to "blue_0" 5 blank displa y 0: graphics and video playback not blanked 1: graphics and video playback blanked 4-3 reserved 2 xy rectan g le enable 0: xy rectangular region off 1: xy rectangular region enabled 1 color ke y enable 0: color key off 1: color key enabled 0 video overla y enable 0: graphics only, if no video playback 1: video playback window enabled 76543210 playback line display width bits 7-0 76543210 lsb disable 16-bit overlay blank display reserved xy rectan g le color key video overlay .com .com .com .com .com 4 .com u datasheet
16-26 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr3d-3f color key registers read/write at i/o address 3d3h with index at address 3d2h set to 3dh -3fh mr3d : red, mr3e : green, mr3f : blue 7-0 red/green/blue color ke y s 0: use the corresponding color key 1: do not use color key mr40-42 color key mask registers read/write at i/o address 3d3h with index at address 3d2h set to 40h - 42h mr40 : red mask, mr41 : green mask, mr42 : blue mask 7-0 red/green/blue color ke y masks 0: use the corresponding color key 1: do not use color key the table below describes the bits and values for the color key registers in different graphics modes. table 16-2: color ke y bit assi g nments: 76543210 color keys 76543210 color key masks masks display mode r_key g_key b_key r_key g_key b_key 4-bit indexed blue bits 3-0 ff ff f0 8-bit indexed blue bits 7-0 ff ff 00 15-bit rgb green bits 6-0 blue bits 7-0 ff 80 00 16-bit rgb green bits 7-0 blue bits 7-0 ff 00 00 24-bit rgb red bits 7-0 green bits 7-0 blue bits 7-0 00 00 00 16-bit key green bit 7 ff 7f ff 24-bit key blue bits 7-0 ff ff fe note: color key bit assignments: in 15 bit rgb (5:5:5) mode: in 16 bit rgb (5:6:5) mode: red bits 7-3 = g_key bits 6-2 red bits 7-3 = g_key bits 7-3 green bits 7-3= g_key bits 1-0, b_key bits 7-5 green bits 7-2= g_key bits 2-0, b_key bits 7-5 blue bis 7-3 = b_key bits 4-0 blue bits 7-3 = b_key bits 4-0 .com .com .com .com .com 4 .com u datasheet
multimedia registers 16-27 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 mr43 line count low register read-only at i/o address 3d3h with index at address 3d2h set to 43h 7-0 line counter for graphics displa y bits 7-0 mr44 line count high register read-only at i/o address 3d3h with index at address 3d2h set to 44h 7-4 reserved 3-0 line counter for graphics displa y bits 11-08 this register enables the read back of the display vertical line counter. 76543210 line counter for graphics display bits 7-0 76543210 reserved line counter for graphics display bits 11-8 .com .com .com .com .com 4 .com u datasheet
16-28 multimedia registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
bitblt registers 17-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 17 bitblt registers these registers exist in the upper memory space of the host bus. the bitblt registers exist at an offset of 4mb from the base address of the upper memory space. name function access offset br00 source and destination span re g ister read/write 0x400000 br01 pattern/source expansion back g round color & transparency key re g ister read/write 0x400004 br02 pattern/source expansion fore g round color re g ister read/write 0x400008 br03 monochrome source control re g ister read/write 0x40000c br04 bitblt control re g ister read/write 0x400010 br05 pattern address re g ister read/write 0x400014 br06 source address re g ister read/write 0x400018 br07 destination address re g ister read/write 0x40001c br08 destination width & hei g ht re g ister read/write 0x400020 br09 source expansion back g round color & transparency key re g ister read/write 0x400024 br0a source expansion fore g round color re g ister read/write 0x400028 .com .com .com .com .com 4 .com u datasheet
17-2 bitblt registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br00 source and destination span register read/write at memory space offset 0x400000h word or doubleword accessible 31-29 reserved these bits always return 0 when read. 28-16 destination span these 13 bits specify the span from the first byte in a scanlines worth of destination data to the first byte in the next scanlines worth. in other words, these bits specify the amount by which the destination address specified in br07 should be incremented after a scanlines worth of destination data has been written to the destination in order to point to where the first byte in the next scanlines worth of destination data should be written. if the destination data is to be contiguous (i.e., it will be a single unbroken block of data where the last byte of a scanlines worth of data is immediately followed by the first byte of the next scanlines worth), then the value of this span should be set equal to the number of bytes in each scanlines worth of destination data. 15-13 reserved these bits always return 0 when read. 12-0 source span these 13 bits are used only when color source data is being used as an input in a bitblt operation. if the source data is monochrome, or no source data is to be used, then the bitblt engine will ignore the value carried by these bits. when color source data is read from the frame buffer, these 13 bits specify the span from the first byte in a scanlines worth of color source data to the first byte in the next scanlines worth. in other words, these bits specify the amount by which the source address specified in br06 should be incremented after a scanlines worth of color source data has been read from the frame buffer in order to point to where the first byte in the next scanlines worth of color source data should be read. when the host cpu provides the color source data through the bitblt data port, these 13 bits specify the number of bytes to be counted from the first byte in one scanlines worth of color source data to the first byte in the next scanlines worth. if the color source data is contiguous (i.e., it is a single unbroken block of data where the last byte of a scanlines worth of data is immediately followed by the first byte of the next scanlines worth), then the value of this span should be set equal to the number of bytes in each scanlines worth of color source data. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 reserved (000) destination span (x:xxxx:xxxx:xxxx) 1514131211109876543210 reserved (000) source span (x:xxxx:xxxx:xxxx) .com .com .com .com .com 4 .com u datasheet
bitblt registers 17-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br01 pattern/source expansion background color & transparency key register read/write at memory space offset 0x400004h word or doubleword accessible 31-24 reserved these bits always return 0 when read. 23-0 pattern/source expansion back g round color & transparenc y ke y bits 23-0 these 24 bits are used to specify the background color for the color expansion of either monochrome pattern data only, or both monochrome pattern data and monochrome source data (depending on the setting of bit 27 of br03). when bit 27 of br03 is set so that this register is used in the color expansion of monochrome pattern data only, br09 is used to specify the background color for the color expansion of monochrome source data. these 24 bits are also optionally used to specify the key color for whichever form of color transparency is selected via bits 16-15 of br04 (depending on the setting of bit 27 of br03). whether bits 7-0, 15-0 or 23-0 of this register are used in both the color expansion and color transparency processes depends upon the color depth to which the bitblt engine has been set. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 reserved (0000:0000) pat/src expansion back g round color & transparency key bits 23-16 (xxxx:xxxx) 1514131211109876543210 pattern/source expansion back g round color & transparency bits 15-0 (xxxx:xxxx:xxxx:xxxx) .com .com .com .com .com 4 .com u datasheet
17-4 bitblt registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br02 pattern/source expansion foreground color register read/write at memory space offset 0x400008h word or doubleword accessible 31-24 reserved these bits always return 0 when read. 23-0 pattern/source expansion fore g round color bits 23-0 these 24 bits are used to specify the foreground color for the color expansion of either monochrome pattern data only, or both monochrome pattern data and monochrome source data (depending on the setting of bit 27 of br03). when bit 27 of br03 is set so that this register is used in the color expansion of monochrome pattern data only, br0a is used to specify the foreground color for the color expansion of monochrome source data. whether bits 7-0, 15-0 or 23-0 of this register are used in the color expansion process depends upon the color depth to which the bitblt engine has been set. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 reserved (0000:0000) pat/src expansion fore g round color bits 23-16 (xxxx:xxxx) 1514131211109876543210 pattern/source expansion fore g round color bits 15-0 (xxxx:xxxx:xxxx:xxxx) .com .com .com .com .com 4 .com u datasheet
bitblt registers 17-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br03 monochrome source control register read/write at memory space offset 0x40000ch word or doubleword accessible 31-28 reserved these bits always return 0 when read. 27 monochrome source expansion color re g ister select 0: this causes the background and foreground colors for the color expansion of monochrome source data to be specified by br01 and br02, respectively. 1: this causes the background and foreground colors for the color expansion of monochrome source data to be specified by br09 and br0a, respectively. 26-24 monochrome source scanline data ali g nment note: these bits are used only when the source data is monochrome. these 3 bits are used to configure the bitblt engine for the byte alignment of each scanlines worth of monochrome source data during a bitblt operation, as each scanlines worth of monochrome source data is received. refer to the section describing the bitblt engine for further details concerning the requirements for how monochrome source data must be organized. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 reserved (0000) src exp (x) mono src ali g n (xxx) reserved (00) monochrome source data initial discard (xx:xxxx) 1514131211109876543210 reserved (00) monochrome source data ri g ht clippin g (xx:xxxx) reserved (00) monochrome source data left clippin g (xx:xxxx) bit 26 25 24 specified monochrome source data alignment 0 0 0 reserved 0 0 1 bit-ali g ned 0 1 0 byte-ali g ned 0 1 1 word-ali g ned 1 0 0 doubleword-ali g ned 1 0 1 quadword-ali g ned 1 1 0 reserved 1 1 1 reserved .com .com .com .com .com 4 .com u datasheet
17-6 bitblt registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 23-22 reserved these bits always return 0 when read. 21-16 monochrome source data initial discard note: these bits are used only when the source data is monochrome. these 6 bits are used to specify how many bits (up to 63 bits) of monochrome source data should be skipped over in the first quadword of source data in order to reach the first bit of valid or desired monochrome source data. these bits are normally used to clip one or more of the first scanlines worth of monochrome source data, (i.e. clipping monochrome source data from the top). 15-14 reserved these bits always return 0 when read. 13-8 monochrome source data right clipping note: these bits are used only when the source data is monochrome. these 6 bits are used to specify how many bits (up to 63 bits) of monochrome source data should be discarded from the end of each scanlines worth of valid or desired monochrome source data. these bits are normally used to clip monochrome source data from the right. 7-6 reserved these bits always return 0 when read. 5-0 source data left clipping note: these bits are used only when the source data is monochrome. these 6 bits are used to indicate how many bits (up to 63 bits) of monochrome source data should be discarded from the beginning of each scanlines worth of valid or desired monochrome source data. these bits are normally used to clip the monochrome source data from the left. .com .com .com .com .com 4 .com u datasheet
bitblt registers 17-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br04 bitblt control register read/write at memory space offset 0x400010h word or doubleword accessible 31 bitblt en g ine status note: this bit is read-only -- writes to this bit are ignored. 0: indicates that the bitblt engine is idle. 1: indicates that the bitblt engine is busy. 30-23 reserved these bits always return 0 when read. 22-20 pattern vertical ali g nment specifies which scanlines worth (i.e., which 1 of the 8 horizontal rows) of the 8x8 pattern data will appear in the first scanlines worth of the destination output data. depending on the location of the destination, the upper left corner of the upper left tile of the pattern data is usually aligned with the upper left corner of the destination output data as the pattern data is tiled into the destination. the bitblt engine determines the horizontal alignment of the leftmost tiles of pattern data relative to the destination using the lower order bits of the destination address specified in br07. however, the vertical alignment relative to the destination must be specified using these 3 bits. 19 solid pattern select note: this bit applies only when the pattern data is monochrome (determined by bit 18 of this register). 0: causes monochrome pattern data to actually be read and used as is normal, if indeed monochrome pattern data is being used as an input to a bitblt operation. 1: causes the bitblt engine to forgo the process of reading the pattern data. instead, the presumption is made that all of the bits of the pattern data are set to 0. the pattern operand for all bit-wise operations is forced to the background color specified in br01. 18 pattern color depth 0: specifies that the pattern data is in color and therefore can have a color depth of 8, 16, or 24 bits per pixel. 1: specifies that the pattern data is monochrome and therefore has a color depth of 1 bit per pixel. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 bb stat (0) reserved (000:0000:0) pattern vertical ali g nment (000) sol pat (0) pat dep (0) pat mask (0) tran sel (0) 1514131211109876543210 tran sel (0) tran enl (0) src mask (0) src dep (0) rsvd (0) src sel (0) startin g point select (00) bit-wise operation select (00h) .com .com .com .com .com 4 .com u datasheet
17-8 bitblt registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 17 monochrome pattern write-masking note: this bit applies only when the pattern data is monochrome (determined by bit 18 of this register). this bit enables a form of per-pixel write-masking in which monochrome pattern data is used as a pixel mask that controls which pixels at the destination will be written to by the bitblt engine. 0: this disables the use of monochrome pattern data as a write mask, allowing normal operation of the bitblt engine with regard to the use of monochrome pattern data. 1: wherever a bit in monochrome pattern data carries the value of 0 the byte(s) of the corresponding pixel at the destination are not written, thereby preserving any data already carried by those bytes. 16-15 color transparency select these 2 bits are used to select the type of color transparency to be performed. when color transparency is enabled by setting bit 14 of this register to 1, the color value carried within bits 23-0 of either br01 or br09 is used as a key color to mask the writing of pixel data to the destination on a per-pixel basis. before each pixel at the destination is written, a comparison is made between this key color and another color, and whether or not that given pixel at the destination will actually be written depends upon the result of that comparison. whether br01 or br09 is used to supply the key color depends on the setting of bit 27 of br03 since the same register that is used to supply the key color for color transparency also happens to be used to supply the background color for monochrome-to-color expansion. also, depending on the type of color transparency selected, the other color value to which the key color is compared may be the color value resulting from the bit-wise operation selected via bits 7-0 of this register. note: color transparency can be used only when the bitblt engine is set to a color depth of 8 or 16 bits per pixel, but not 24 bits per pixel. if the bitblt engine has been set to a color depth of 24 bits per pixel, then bit 14 of this register should always remain set to 0 to disable color transparency. bit 16 15 form of per-pixel color comparison selected 0 0 the color value carried by bits 23-0 of either br01 or br09 is compared to the color value resultin g from the bit-wise operation bein g performed for the current pixel. if these two color values are not the same, then the byte(s) for the current pixel at the destination will be written with the color value resultin g from the bit-wise operation. 0 1 the color value carried by bits 23-0 of either br01 or br09 is compared to the color value already specified in the byte(s) for the current pixel at the destination. if these two color values are not the same, then the byte(s) for the current pixel at the destination will be written with the color value resultin g from the bit-wise operation. 1 0 the color value carried by bits 23-0 of either br01 or br09 is compared to the color value resultin g from the bit-wise operation bein g performed for the current pixel. if these two color values are the same, then the byte(s) for the current pixel at the destination will be written with the color value resultin g from the bit-wise operation. 1 1 the color value carried by bits 23-0 of either br01 or br09 is compared to the color value already specified in the byte(s) for the current pixel at the destination. if these two color values are the same, then the byte(s) for the current pixel at the destination will be written with the color value resultin g from the bit-wise operation. .com .com .com .com .com 4 .com u datasheet
bitblt registers 17-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 14 color transparency enable these bit is used to enable or disable color transparency. when color transparency is enabled, the color value carried within bits 23-0 of either br01 or br09 is used as a key color to mask the writing of pixel data to the destination on a per- pixel basis. before each pixel at the destination is written, a comparison is made between this key color and another color, and whether or not that given pixel at the destination will actually be written depends upon the result of that comparison. whether br01 or br09 is used to supply the key color depends on the setting of bit 27 of br03 since the same register that is used to supply the key color for color transparency also happens to be used to supply the background color for monochrome-to-color expansion. also, depending on the type of color transparency selected via bits 16-15 of this register, the other color value to which the key color is compared may be the color value resulting from the bit-wise operation selected via bits 7-0 of this register. 0: disables color transparency. 1: enables color transparency. note: color transparency can be used only when the bitblt engine is set to a color depth of 8 or 16 bits per pixel, but not 24 bits per pixel. if the bitblt engine has been set to a color depth of 24 bits per pixel, then this bit should always remain set to 0 to disable color transparency. 13 monochrome source write-masking note: this bit applies only when the source data is monochrome (determined by bit 12 of this register). this bit enables a form of per-pixel write-masking in which monochrome source data is used as a pixel mask that controls which pixels at the destination will be written to by the bitblt engine. 0: this disables the use of monochrome source data as a write mask, allowing normal operation of the bitblt engine with regard to the use of monochrome source data. 1: wherever a bit in monochrome source data carries the value of 0, the byte(s) of the corresponding pixel at the destination are not written, thereby preserving any data already carried by those bytes. 12 source color depth 0: specifies that the source data is in color, and therefore, can have a color depth of 8, 16, or 24 bits per pixel. 1: specifies that the source data is monochrome, and therefore, has a color depth of 1 bit per pixel. this setting should be used only if bit 8 of this register is set to 0. note: this bit must be set to 0 whenever a bit-wise operation is selected (using bits 7-0 of this register) that does not use source data. 11 reserved (writable) this bit should always be written with the value of 0. 10 source select 0: configures the bitblt engine to read the source data from the frame buffer at the location specified in br06. 1: configures the bitblt engine to accept the source data from the host cpu via the bitblt data port. the host cpu provides the source data by performing a series of memory write operations to the bitblt data port. .com .com .com .com .com 4 .com u datasheet
17-10 bitblt registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 9-8 starting point select these two bits are used to select which of the four corners to use as the starting point in reading and writing graphics data in a bitblt operation. normally, the upper left corner is used. however, situations involving an overlap of source and destination locations (this usually occurs when the source and destination locations are both on-screen) often require the use of a different corner as a starting point. it should be remembered that the addresses specified for each piece of graphics data used in a bitblt operation must point to the byte(s) corresponding to whichever pixel is at the selected starting point. if the starting point is changed, then these addresses must also be changed. see the chapter on the bitblt engine for more information. 7-0 bit-wise operation select these 8 bits are meant to be programmed with an 8-bit code that selects which one of 256 possible bit-wise operations is to be performed by the bitblt engine during a bitblt operation. these 256 possible bit-wise operations and their corresponding 8-bit codes are designed to be compatible with the manner in which raster operations are specified in the standard bitblt parameter block normally used in the microsoft windows environment, without translation. see the section on the bitblt engine for more information. note: bit 12 of this register must be set to 0 whenever a bit-wise operation is selected that does not use source data. bit 9 8 corner selected as the starting point 0 0 upper left corner -- this is the default after reset. 0 1 upper ri g ht corner 1 0 lower left corner 1 1 lower ri g ht corner .com .com .com .com .com 4 .com u datasheet
bitblt registers 17-11 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br05 pattern address register read/write at memory space offset 0x400014h word or doubleword accessible 31-22 reserved (writable) these bits should always be written with the value of 0. 21-3 pattern address these bits specify the starting address of the pattern data within the frame buffer as an offset from the beginning of the frame buffer to where the first byte of pattern data is located. the pattern data is always an 8x8 array of pixels that is always stored in frame buffer memory as a single contiguous block of bytes. the pattern data must be located on a boundary within the frame buffer that is equivalent to its size, and its size depends on the pattern datas color depth. the color depth may be 1 bit per pixel if the pattern data is monochrome or it may be 8, 16, or 24 bits per pixel if the pattern data is in color (the color depth of a color pattern must match the color depth to which the bitblt engine has been set). monochrome patterns require 8 bytes, and so the pattern data must start on a quadword boundary. color patterns of 8, 16, and 24 bits per pixel color depth must start on 64-byte, 128-byte, and 256-byte boundaries, respectively. note: in the case of 24 bits per pixel, each row of 8 pixels of pattern data takes up 32 consecutive bytes, not 24. the pattern data is formatted so that for each row there is a block of 8 sets of 3 bytes (each set corresponding to one of the 8 pixels), followed by a block of the 8 extra bytes. when the bitblt engine reads 24 bit-per-pixel pattern data, it will read only the first 24 bytes of each row of pattern data, picking up only the 8 sets of 3 bytes for the 8 pixels in that row, and entirely ignoring the remaining 8 bytes. 2-0 reserved these bits always return 0 when read. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 reserved (0000:0000:00) pattern address bits 21-16 (xx:xxxx) 1514131211109876543210 pattern address bits 15-3 (xxxx:xxxx:xxxx:x) reserved (000) .com .com .com .com .com 4 .com u datasheet
17-12 bitblt registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br06 source address register read/write at memory space offset 0x400018h word or doubleword accessible important: this register should never be read while the bitblt engine is busy. 31-22 reserved (writable) these bits should always be written with the value of 0. 21-0 source address when the source data is located within the frame buffer, these bits are used to specify the starting address of the source data within the frame buffer as an offset from the beginning of the frame buffer to where the first byte of source data is located. when the source data is provided by the host cpu through the bitblt data port, and that source data is in color, only bits 2-0 are used and the upper bits are ignored. these lower 3 bits are used to indicate the position of the first valid byte within the first quadword of the source data. when the source data is provided by the host cpu through the bitblt data port, and that source data is monochrome, the bitblt engine ignores this register entirely. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 reserved (0000:0000:00) source address bits 21-16 (xx:xxxx) 1514131211109876543210 source address bits 15-0 (xxxx:xxxx:xxxx:xxxx) .com .com .com .com .com 4 .com u datasheet
bitblt registers 17-13 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br07 destination address register read/write at memory space offset 0x40001ch word or doubleword accessible important: this register should never be read while the bitblt engine is busy. 31-22 reserved (writable) these bits should always be written with the value of 0. 21-0 destination address these bits are used to specify the starting address of the destination location within the frame buffer as an offset from the beginning of the frame buffer to where the first byte of the destination location. the destination location is the location from which destination input data (if used) will be read, and it is where the destination output data will be written. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 reserved (0000:0000:00) destination address bits 21-16 (xx:xxxx) 1514131211109876543210 destination address bits 15-0 (xxxx:xxxx:xxxx:xxxx) .com .com .com .com .com 4 .com u datasheet
17-14 bitblt registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br08 destination width & height register read/write at memory space offset 0x400020h word or doubleword accessible important: this register should never be read while the bitblt engine is busy. 31-29 reserved these bits always return 0 when read. 28-16 destination scanline hei g ht these 13 bits specify the height of the destination input and output data in terms of the number of scanlines. 15-13 reserved these bits always return 0 when read. 12-0 destination b y te width these 13 bits specify the width of the destination input and output data in terms of the number of bytes per scanlines worth. the number of pixels per scanline into which this value translates depends upon the color depth to which the bitblt engine has been set. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 reserved (000) destination scanline hei g ht (0:0000:0000:0000) 1514131211109876543210 reserved (000) destination byte width (0:0000:0000:0000) .com .com .com .com .com 4 .com u datasheet
bitblt registers 17-15 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br09 source expansion background color & transparency key register read/write at memory space offset 0x400024h word or doubleword accessible 31-24 reserved these bits always return 0 when read. 23-0 source expansion back g round color & transparenc y ke y bits 23-0 these 24 bits are optionally used to specify the background color for the color expansion of monochrome source data (depending on the setting of bit 27 of br03). when bit 27 of br03 is set so that this register is used in the color expansion of monochrome source data, br01 is used to specify the background color for the color expansion of monochrome pattern data. these 24 bits are also optionally used to specify the key color for whichever form of color transparency is selected via bits 16-15 of br04 (depending on the setting of bit 27 of br03). whether bits 7-0, 15-0 or 23-0 of this register are used in both the color expansion and color transparency processes depends upon the color depth to which the bitblt engine has been set. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 reserved (0000:0000) src expansion back g round color & transparency key bits 23-16 (xxxx:xxxx) 1514131211109876543210 source expansion back g round color & transparency key bits 15-0 (xxxx:xxxx:xxxx:xxxx) .com .com .com .com .com 4 .com u datasheet
17-16 bitblt registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 br0a source expansion foreground color register read/write at memory space offset 0x400028h word or doubleword accessible 31-24 reserved these bits always return 0 when read. 23-0 pattern/source expansion fore g round color bits 23-0 these 24 bits are optionally used to specify the foreground color for the color expansion of monochrome source data (depending on the setting of bit 27 of br03). when bit 27 of br03 is set so that this register is used in the color expansion of monochrome source data, br02 is used to specify the foreground color for the color expansion of monochrome pattern data. whether bits 7-0, 15-0 or 23-0 of this register are used in the color expansion process depends upon the color depth to which the bitblt engine has been set. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 reserved (0000:0000) source expansion fore g round color bits 23-16 (xxxx:xxxx) 1514131211109876543210 source expansion fore g round color bits 15-0 (xxxx:xxxx:xxxx:xxxx) .com .com .com .com .com 4 .com u datasheet
memory-mapped wide extension registers 18-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chapter 18 memory-mapped wide extension re g isters the video decoder registers are 32-bit memory-mapped registers that exist in the upper memory space that the 69000 occupies on the host bus. refer to chapter on address maps for more information. these registers exist at an offset of 0x400100h from the base address of the memory space. name function access offset er00 central interrupt control re g ister read/write 0x400600 er01 central interrupt status re g ister read/write 0x400604 er03 miscellaneous function re g ister read/write 0x40060c .com .com .com .com .com 4 .com u datasheet
18-2 memory-mapped wide extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 er00 central interrupt control register read/write at memory space offset 0x400100h word or doubleword accessible 31 bitblt en g ine idle interrupt output enable 0: no hardware interrupt is output to the host when the bitblt engine becomes idle after performing a bitblt operation. 1: causes a hardware interrupt to be output to the host when the bitblt engine becomes idle after performing a bitblt operation. 30 reserved this bit always returns a value of 0 when read. 29-15 reserved these bits always return the value of 0 when read. 14 displa y vertical blankin g period interrupt output enable 0: no hardware interrupt is output to the host when the last pixel of the last scan line within the active display area is drawn on pipeline a. 1: causes a hardware interrupt to be output to the host when the last pixel of the last scan line within the active display area is drawn on pipeline a. 13-7 reserved these bits always return the value of 0 when read. 6 video capture vertical s y nc interrupt output enable 0: no hardware interrupt is output to the host at the start of each vertical sync pulse from the acquisition data source. 1: causes a hardware interrupt to be output to the host at the start of each vertical sync pulse from the acquisition data source. 5-0 reserved these bits always return the value of 0 when read. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 bblt idle int output en (0) rsrvd (0) reserved (00:0000:0000:0000) 1514131211109876543210 rsvd (0) dsply vblnk int output en (0) reserved (00:0000:0) v cap vsync int output en (0) reserved (00:0000) .com .com .com .com .com 4 .com u datasheet
memory-mapped wide extension registers 18-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 er01 central interrupt status/acknowledge register read/write at memory space offset 0x400104h word or doubleword accessible 31 bitblt en g ine idle interrupt pendin g 0: since this bit was last cleared, no interrupt has been sourced as a result of the bitblt engine becoming idle after performing a bitblt operation. 1: an interrupt was sourced as a result of the bitblt engine becoming idle after performing a bitblt operation. writing the value of 1 to this bit will clear it to 0 (writing the value of 0 to this bit has no effect and will be ignored). 30 reserved these bits always return the value of 0 when read. 29-15 reserved these bits always return the value of 0 when read. 14 displa y vertical blankin g period interrupt pendin g 0: since this bit was last cleared, no interrupt has been sourced as a result of the drawing of the last scan line within the active display area on pipeline a. 1: an interrupt was sourced as a result of the drawing of the last scan line within the active display area on pipeline a. writing the value of 1 to this bit will clear it to 0 (writing the value of 0 to this bit has no effect and will be ignored). 13-7 reserved these bits always return the value of 0 when read. 6 video capture vertical s y nc interrupt pendin g 0: since this bit was last cleared, no interrupt has been sourced as a result of the start of a vertical sync pulse from the acquisition data source. 1: an interrupt was sourced as a result of the start of a vertical sync pulse from the acquisition data source. writing the value of 1 to this bit will clear it to 0 (writing the value of 0 to this bit has no effect and will be ignored). 5-0 reserved these bits always return the value of 0 when read. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 bblt idle (0) reserved (00:0000:0000:0000) 1514131211109876543210 rsvd (0) pipe a v blnk (0) reserved (00:0000:0) v cap vsync (0) reserved (00:0000) .com .com .com .com .com 4 .com u datasheet
18-4 memory-mapped wide extension registers &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 er03 miscellaneous function register read/write at memory space offset 0x40010ch word or doubleword accessible 32-15 reserved this bit always returns the value of 0 when read. 14 displa y vertical blankin g period interrupt source polarit y 0: no inversion. 1: inversion. 13-7 reserved these bits always return the value of 0 when read. 6 video capture vertical s y nc interrupt source polarit y 0: no inversion. 1: inversion. 5-0 reserved these bits always return the value of 0 when read. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 reserved (0000:0000:0000:0000) 1514131211109876543210 rsvd (0) dsply vert blnk pol (0) reserved (00:0000:0) vcap vsync int pol (0) reserved (00:0000) .com .com .com .com .com 4 .com u datasheet
a-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 appendix a display modes this chapter lists tables for configuring the 69000 for various crt monitor and flat panel graphics and text display modes. the parameters detailed in the tables of this chapter define standard capabilities of the 69000 when it is used with the chips vga bios. consult with the appropriate bios vendor for information about display modes and parameters that are supported by bioss that are not from chips. the following symbols and abbreviations are used for display modes in the following sections: C indicates cga display mode(table a-1 only.) * ega display mode. (table a-1 only.) + vga display mode. (table a-1 only.) dstn dual-scan stn flat panel i interlaced l linear mapped p page mapped .com .com .com .com .com 4 .com u datasheet
a-2 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 crt-only display modes this section lists tables for standard vga and chips extended vga crt-only display modes. standard vga crt-only display modes the 69000 vga bios supports all standard vga crt-only display modes, listed below. table a-1: standard vga crt-onl y displa y modes standard vga display mode no. (hex) vesa display mode number color resolution (bpp/ # colors) characters x rows character cell (pixels) resolution (pixels) type of display mode horizontal frequency (khz) vertical frequency (hz) 00, 01 C 16/256k 40 25 8 8 320 200 text 31.5 70 00*, 01* C 16/256k 40 25 8 14 320 350 text 31.5 70 00+, 01+ C 16/256k 40 25 9 16 360 400 text 31.5 70 02, 03 C 16/256k 80 25 8 8 640 200 text 31.5 70 02*, 03* C 16/256k 80 25 8 14 640 350 text 31.5 70 02+, 03+ C 16/256k 80 25 9 16 720 400 text 31.5 70 04, 05 C 4/256k 40 25 8 8 320 200 graphics 31.5 70 06 C 2/256k 80 25 8 8 640 200 graphics 31.5 70 07* C mono- chrome 80 25 9 14 720 350 text 31.5 70 07+ C mono- chrome 80 25 9 16 720 400 text 31.5 70 0d C 16/256k 40 25 8 8 320 200 graphics 31.5 70 0e C 16/256k 80 25 8 8 640 200 graphics 31.5 70 0f C mono 80 25 8 14 640 350 graphics 31.5 70 10 C 16/256k 80 25 8 14 640 350 graphics 31.5 70 11 C 2/256k 80 30 8 16 640 480 graphics 31.5 60 12 C 16/256k 80 30 8 16 640 480 graphics 31.5 60 13 C 256/256k 40 25 8 8 320 200 graphics 31.5 70 .com .com .com .com .com 4 .com u datasheet
a-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 chips extended vga crt-only display modes table a-2 shows the extended vga and vesa display m odes that the 69000 vga bios supports. within the table: the minimum mclk column gives the recommended memory clock frequency at which the 69000 can run without adverse effects to functionality. better benchmarks can be achieved with an mclk frequency higher than the frequency specified. some of the display modes are not supported by all crt monitors. table a-2: extended vga crt-onl y displa y modes extended vga display mode no. (hex) vesa display mode no. (hex) color depth (bits per pixel) memory organization resolution (pixels) horizontal freq. (khz) vertical freq. (hz) vclk (mhz) mini- mum mclk (mhz) 14h C 8 packed pixel 320 200 31.5 70 12.587 50 15h 16 31.5 70 12.587 50 16h 24 31.5 70 12.587 50 17h C 8 packed pixel 320 240 31.5 60 12.587 50 18h 16 31.5 60 12.587 50 19h 24 31.5 60 12.587 50 1ah C 8 packed pixel 400 300 37.5 60 20 50 1bh 16 37.5 60 20 50 1ch 24 37.5 60 20 50 1dh C packed pixel 512 384 48.4 60 32.5 50 1eh C 256/256k 48.4 60 32.5 50 1fh C 48.4 60 32.5 50 31h 100h 8 packed pixel 640 x 400 31.5 70 25.175 50 62h C 16 31.5 70 25.175 50 63h C 24 31.5 70 25.175 50 20h 120h 4 packed pixel 640 x 480 31.5 60 25.175 50 37.5 75 31.5 50 43.3 85 36 50 22h 122h 4 packed pixel 800 x 600 35.5 56 36 50 46.9 60 40 50 46.9 75 49.5 50 53.7 85 56.25 50 6ah 102 4 planar 800 x 600 31.5 56 36 50 37.9 60 40 50 46.9 75 49.5 50 53.7 85 56.25 50 .com .com .com .com .com 4 .com u datasheet
a-4 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 extended vga display mode no. (hex) vesa display mode no. (hex) color depth (bits per pixel) memory organiza- tion resolution (pixels) horizontal freq. (khz) vertical freq. (hz) vclk (mhz) mini- mum mclk (mhz) 24h 102h 4 packed pixel 800 x 600 31.5 60 25 50 37.9 72 31.5 50 37.5 75 31.5 50 43.269 85 36 50 64h 104h 4 planar 1024 768 35.5 43(i) 44.9 50 48.4 60 65 50 60 75 78.75 50 68.7 85 94.5 50 28h 128h 4 packed pixel 1280 1024 47 43(i) 78.75 50 64 60 108 50 79.98 75 135 50 68h 106h 4 planar 1280 1024 47 43(i) 78.75 50 64 60 108 50 79.98 75 135 50 30h(l) 70h(p) 101h 8 packed pixel 640 x 480 31.5 60 25.175 50 37.5 75 31.5 50 43.3 85 36 50 31h(l) 71h(p) 100h 8 packed pixel 640 x 400 31.5 70 25.175 50 32h(l) 72h(p) 103h 8 packed pixel 800 x 600 35.1 56 36 50 37.9 60 40 50 46.9 75 49.5 58 53.7 85 56.25 68 34h(l) 74h(p) 105h 8 packed pixel 1024 768 35.5 43(i) 44.9 50 48.4 60 65 60 60 75 78.75 80 68.7 85 94.5 80 36h C 8 packed pixel generic C C C C 38h(l) 78h(p) 107h 8 packed pixel 1280 1024 47 43(i) 78.75 50 64 60 108 50 79.98 75 135 50 .com .com .com .com .com 4 .com u datasheet
a-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 extended vga display mode no. (hex) vesa display mode no. (hex) color depth (bits per pixel) memory organiza- tion resolution (pixels) horizontal freq. (khz) vertical freq. (hz) vclk (mhz) mini- mum mclk (mhz) 41h 111h 16 packed pixel 640 x 480 31.5 60 25.175 50 37.5 75 31.5 50 43.3 85 36 50 43h 114h 16 packed pixel 800 x 600 35.1 56 36 50 37.9 60 40 50 46.9 75 49.5 60 53.7 85 56.25 70 45h 117h 16 packed pixel 1024 x 768 35.5 43(i) 44.9 50 48.4 60 65 50 60 75 78.75 50 68.7 85 94.5 50 47h C 16 packed pixel generic C C C C 50h 112h 24 packed pixel 640 x 480 31.5 60 25.175 50 37.5 75 31.5 50 43.3 85 36 50 52h 115h 24 packed pixel 800 x 600 35.5 56 36 50 37.9 60 40 50 46.9 75 49.5 50 53.7 85 56.25 50 56h C 24 packed pixel generic C C C C .com .com .com .com .com 4 .com u datasheet
a-6 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 display modes the 69000 vga bios supports flat panel-only and simultaneous operations with the standard vga display modes listed in here and elsewhere. in addition, the 69000 vga bios supports flat panel-only and simultaneous operations with the extended display modes listed in this section. flat panel-only and simultaneous 640 x 480 (vga) display modes for 640 x 480 flat panels, the chips vga bios supports flat panel-only and simultaneous operations with the standard vga display modes listed in table a-1 and the extended vga display modes in table a-3. within the table, the minimum mclk column gives the recommended memory clock frequency at which the 69000 can run without adverse effects to functionality. better benchmarks can be achieved with an mclk frequency higher than the frequency specified. dstn flat panels require display memory for frame accelerator functionality. for simultaneous operation, both the flat panel and the crt monitor must be configured at a minimum to support the resolution of a given display mode. table a-3: flat panel-onl y and simultaneous 640 x 480 (vga) displa y modes extended vga display mode number (hex) vesa display mode number (hex) color depth (bits per pixel) resolution (pixels) type of flat panel vclk (mhz) minimum mclk(mhz) 20h 120h 4 640 400 dstn/tft 25 50 30h 101h 8 640 480 dstn/tft 25 50 41h 111h 16 640 480 dstn/tft 25 50 50h 112h 24 640 480 dstn/tft 25 50 .com .com .com .com .com 4 .com u datasheet
a-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 flat panel-only and simultaneous 800 x 600 (svga) display modes for 800 x 600 flat panels, the chips vga bios supports flat panel-only and simultaneous operations with the standard vga display modes listed in table a-1 and the extended vga display modes in table a-4. within the table, the minimum mclk column gives the recommended memory clock frequency at which the 69000 can run without adverse effects to functionality. better benchmarks can be achieved with an mclk frequency higher than the frequency specified. dstn flat panels require display memory for frame accelerator functionality. for simultaneous operation, both the flat panel and the crt monitor must be configured at a minimum to support the resolution of a given display mode. table a-4: flat panel-onl y and simultaneous displa y modes for 800 x 600 flat panels. a- planar mode extended vga display mode no. (hex) vesa display mode no. (hex) color depth (bits per pixel) resolution (pixels) type of flat panel vclk (mhz) minimum mclk (mhz) 22h 122h 4 800 600 dstn 40 50 tft 40 50 6ah a 102h 4 800 600 dstn 40 50 tft 40 50 32h 103h 8 800 600 dstn 40 50 tft 40 50 43h 114h 16 800 600 dstn 40 50 tft 40 50 52h 115h 24 800 600 dstn 40 50 tft 40 50 .com .com .com .com .com 4 .com u datasheet
a-8 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 flat panel-only and simultaneous 1024 x 768 display modes for 1024 x 768 flat panels, the chips vga bios supports flat panel-only and simultaneous operations with the standard vga display modes listed in table a-1 and the extended vga display modes in table a-5. within the table, the minimum mclk column gives the recommended memory clock frequency at which the 69000 can run without adverse effects to functionality. better benchmarks can be achieved with an mclk frequency higher than the frequency specified. dstn flat panels require display memory for frame accelerator functionality. for simultaneous operation, both the flat panel and the crt monitor must be configured at a minimum to support the resolution of a given display mode. table a-5: flat panel-onl y and simultaneous displa y modes for 1024 x 768 flat panels a- planar mode extended vga display mode number (hex) vesa display mode number (hex) color depth (bits per pixel) resolution (pixels) type of flat panel vclk (mhz) minimum mclk (mhz) 24h 124h 4 1024 768 dstn 65 58 tft 64h a 104h 4 1024 768 dstn 65 58 tft 34h 105h 8 1024 768 dstn 65 58 tft 45h 117h 16 1024 768 dstn 65 58 tft .com .com .com .com .com 4 .com u datasheet
a-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 flat panel-only and simultaneous 1280 x 1024 display modes for 1280 x 1024 flat panels, the chips vga bios supports flat panel-only and simultaneous operations with the standard vga display modes listed in table a-1 and the extended vga display modes in table a-6. within the table, the minimum mclk column gives the recommended memory clock frequency at which the 69000 can run without adverse effects to functionality. better benchmarks can be achieved with an mclk frequency higher than the frequency specified. dstn flat panels require display memory for frame accelerator functionality. for simultaneous operation, both the flat panel and the crt monitor must be configured at a minimum to support the resolution of a given display mode. table a-6: flat panel-onl y and simultaneous displa y modes for 1280 x 1024 flat panels a- planar mode extended vga display mode number (hex) vesa display mode number (hex) color depth (bits per pixel) resolution (pixels) type of flat panel vclk (mhz) minimum mclk (mhz) 28h 128h 4 1280 x 1024 dstn 108 50 tft 68h a 106h 4 1280 x 1024 dstn 108 50 tft 38h 107h 8 1280 x 1024 tft 108 50 .com .com .com .com .com 4 .com u datasheet
a-10 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
clock generation b-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 appendix b clock generation clock synthesizer the graphics controller contains two complete phase-locked loops (plls) to synthesize the internal dot clock (dclk) and memory clock (mclk) from an externally supplied reference frequency. each of the two clock synthesizer phase lock loops may be programmed to output frequencies ranging between 3mhz and the maximum specified operating frequency for that clock in increments not exceeding 0.5%. an external crystal-controlled oscillator (ttl) generates the reference frequency of 14.31818 mhz that is driven into the graphics controller on pin c3. the graphics controller can not generate the 14.31818 mhz reference frequency using only an external crystal. dot clock (dclk) the dot clock is used as the basis for all display timing. the horizontal and vertical sync frequencies are derived by dividing down the dot clock. in borrowing from vga parlance, there are said to be three dot clocks: dclk0, dclk1 and dclk2. in truth, there is actually only a single pll, but it can be configured with divisor values from any one of three sets of registers within the xrc0-xrcf group of registers, and these three groups of registers are referred to as if they were dclk0, dclk1 and dclk2. bits 3 and 2 of the miscellaneous output register (msr) are used to select which one of these 3 sets of registers will be used to supply the divisor values that the pll will use in creating the dot clock at any given time. during reset, the first two sets of these registers (dclk0 and dclk1) default to values that specify the two standard vga dot clocks of 25.175mhz and 28.322mhz, and normally the values in these first two sets of registers are not changed. the third set of registers (dclk2) is used for all modes that are not of the vga standard, i.e., the extended modes. memory clock (mclk) the memory clock is used as the basis for all memory timing. it is normally set once following hardware reset, and is not normally modified again. .com .com .com .com .com 4 .com u datasheet
b-2 clock generation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 pll parameters each phase-locked loop consists of the elements shown in the figure below. the reference input frequency (14.31818mhz) is divided by n, a 8-bit programmable value. the output of the vco is divided by 1 (or 4 via the vco loop divider: vld) and then further divided by m, another 8-bit programmable value. the phase detector compares the n and m results and adjusts the vco frequency as needed to achieve frequency equality. when the loop has stabilized, the vco frequency (f vco ) is related to the reference as follows: if vld=1: f vco /m = f ref / n or if vld=4: f vco /4m = f ref / n. (dclk only) for vld =1, the f vco can be written as: f vco = (f ref *m /n) the vco output can be further divided by 1, 2, 4, 8, 16, or 32 (which is called post divisor: pd) to produce the final dclk or mclk used for video or memory timing. therefore the output frequency is: f out = (f vco )/pd by fine tuning the m/n ratio in each pll, extremely small adjustments in the exact dclk and mclk frequencies can be achieved. the vco itself is designed to operate in the range of 100mhz to 220 mhz. fi g ure b-1: pll elements m counter = pro g ram value m+2 f vco : vco frequency (before post divisor) n counter = pro g ram value n+2 f out : output frequency: (desired frequency) clk f out post divisor (pd) 1, 2, 4, 8, 16, 32 vco loop divide (vld) (4, 1) m phase detect charge pump & filter vco n f vco refclk 14.3mhz (dclk only) .com .com .com .com .com 4 .com u datasheet
clock generation b-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 programming the clock synthesizer below are the register tables for clk0, clk1, clk2, and mclk. please see the block diagram for m, n, and post divide (pd). . dclk programming for each dclk, a new frequency should be programmed by following below sequence: 1) program m 2) program n 3) program pd this will effectively change dclk into the new frequency mclk programming for mclk, a new frequency should be programmed by following the sequence below: 1) program m 2) program n 3) program pd clk0 clk1 m xrc0 xrc4 n xrc1 xrc5 vld xrc3[2] xrc7[2] pd xrc3[6:4] xrc7[6:4] clk2 mclk m xrc8 xrcc[7:0] n xrc9 xrcd[7:0] vld xrcb[2] pd xrcb[6:4] xrce[6:4] .com .com .com .com .com 4 .com u datasheet
b-4 clock generation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 programming constraints the programmer must be aware of the following five programming constraints: 1 mhz f ref 83 mhz 150 khz f ref /(n) 5 mhz 100 mhz f vco 220 mhz 3 m 257 3 n 257 the constraints have to do with trade-offs between optimum speed with lowest noise, vco stability and factors affecting the loop equation. the value of f vco must remain between 100 mhz and 220 mhz inclusive. therefore, for output frequencies below 100 mhz, f vco must be brought into range by using the post-vco divisor. to avoid crosstalk between the vcos, the vco frequencies should not be within 0.5% of each other nor should their harmonics be within 0.5% of the others fundamental frequency. the graphics controllers clock synthesizers will seek the new frequency as soon as it is loaded following a write to the control register. any change in the post-divisor will take affect immediately. the output may glitch during this transition of post divide values. therefore, the programmer may wish to hold the post- divisor value constant across a range of frequencies. there is also the consideration of changing from a low frequency vco value with a post-divide ? 1 (e.g., 100 mhz) to a high frequency ? 4 (e.g., 220 mhz). although the beginning and ending frequencies are close together, the intermediate frequencies may cause the graphics controller to fail in some environments. in this example, there will be a short-lived time during which the output frequency will be approximately 25 mhz. the graphics controller provides the mux for mclk so it can select the fixed frequency (25.175 mhz) before programming a new frequency. because of this, the bus interface may not function correctly if the mclk frequency falls below a certain value. register and memory accesses synchronized to mclk may be too slow and violate the bus timing causing a watchdog timer error. programming example the following is an example of the calculations which are performed. derive the proper programming word for a 25.175 mhz output frequency using a 14.31818 mhz reference frequency. since 25.175 mhz < 100 mhz, quadruple it to 100.70 mhz to get f vco in its valid range. set the post divide (pd) divide by 4. video loop divisor selector (vld) = 1 the result: f vco = 100.70 = (14.31818 x m/n) m/n = 7.0330 several choices for m and n are available: m n f vco error 211 30 100.70 -0.00005 204 29 100.72 +0.00021 .com .com .com .com .com 4 .com u datasheet
clock generation b-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 choose (m, n) = (211, 30) for best accuracy. f ref /(rds x n) = 157.3khz m/n = 0.879127 therefore m is less than 255 and vld = 1, p = 4. xrc0 = 211 - 2 = 209 (d1h) xrc1= 30 - 2 = 28 (1eh) xrc3= 0010 0100 = 24h pcb layout considerations clock synthesizers, like most analog components, must be isolated from the noise that exists on a pcb power plane. care must be taken not to route any high frequency digital signals in close proximity to the analog sections. inside the graphics controller chip, the clocks are physically located in the lower left corner of the chip surrounded by low frequency input and output pins. this helps to minimize both internally and externally coupled noise. the memory clock and video clock power pins on the graphics controller chip each require similar rc filtering to isolate the synthesizers from the v cc plane and from each other. the filter circuit for each cvccn/cgnd pair is shown below: the suggested method for layout assumes a multi-layer board including vcc and gnd planes. all ground connections should be made as close to the pin/component as possible. the cvcc trace should route from the graphics controller through the pads of the filter components. the trace should not be connected to the filter components by a stub. all components (particularly the nearest 0.1 m f capacitor) should be placed as close as possible to the graphics controller. 10 w 0.1 m f 47 m f 0.1 m f dckvcc / mckvcc dckgnd / mckgnd + vdd .com .com .com .com .com 4 .com u datasheet
b-6 clock generation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 c1 r1 r2 c4 c5 c2 c3 c6 gnd gnd gnd gnd vcc gnd vcc gnd gnd mckgnd dckgnd dckvcc mckvcc gnd from graphics controller note: do not connect v cc here. force the trace through the decoupling cap pad. always pass the vcc trace through the decoupling cap pad. do not leave a stub as shown. c7 vcc .com .com .com .com .com 4 .com u datasheet
clock generation b-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 display memory bandwidth the graphics controllers ability to support high performance super vga modes can be limited by display memory bandwidth as well as the maximum allowable dclk frequency. the maximum pixel rate that a given mclk frequency can support depends on the following: 1) pixel depth (number of bytes per pixel): 1 byte for 8 bpp, 2 bytes for 16 bpp, 3 bytes for 24 bpp. 2) number of additional bytes accessed for stn-dd frame buffering, usually one byte per pixel (independent of pixel depth in main display memory). this effect is discussed further in the next section. it applies only to stn-dd panels, not to crt or tft displays. 3) utilization efficiency. the percentage of peak memory bandwidth needed for ras overhead (ras- cas cycles rather than cas-only cycles), dram refresh, and cpu access. peak memory bandwidth is the product of mclk and the number of bytes accessed per mclk (e.g., 664 mb/sec for 83 mhz mclk). the graphics controller needs at least 20% of this peak bandwidth for ras overhead (higher for stn-dd buffer accesses and cpu accesses due to shorter dram bursts). allow at least an additional 10% bandwidth buffer for cpu accesses and dram refresh. this leaves 70% of mclk cycles available for display refresh (10% allowance for the cpu may be grossly inadequate for demanding applications such as software mpeg playback). 4) multimedia frame capture. this factor is not included in the example calculations. except where otherwise noted, the graphics controller mode support estimates do not include provision for frame capture from the video input port. as an example, suppose mclk is 83 mhz and the pixel depth is 16 bpp. then the maximum supportable pixel rate for crt and tft displays is 83 mhz x 70% x 8 ? 2 = 232.4 mhz (8 bytes per mclk, 2 bytes per pixel). any video mode that uses a 112 mhz or lower dclk can be supported by the 83 mhz mclk. for an stn-dd panel, the maximum supportable pixel rate in 16 bpp modes is 83 mhz x 70% x 8 ? 3 = 154 mhz (8 bytes per mclk, 3 bytes accessed per pixel). 16 bpp video modes using a 75 mhz or lower dclk can be supported by the 83 mhz mclk with an stn-dd panel. .com .com .com .com .com 4 .com u datasheet
b-8 clock generation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 stn-dd panel buffering stn-dd panels require the upper and lower halves of the panel to be refreshed simultaneously. in addition, temporal modulated energy distribution (tmed) or frame rate control (frc) is needed to achieve more than 8 colors, since the panel itself supports only 3 bits per pixel (one bit each for red, green, and blue). the 69000 implements stn-dd support using either a full frame buffer or a half frame buffer (programmable option). the buffer holds three bits per pixel, packed in groups of 10 pixels per dword. thus, the buffer requires 0.4 bytes per pixel in addition to the main display memory. the half frame buffer operates as follows. as each pixel is read out of display memory, the appropriate 3- bit code for the panel is calculated and sent to the panel. in addition, the proper 3-bit code for the same pixel in the next frame is also calculated, with allowance for frame rate control. the second 3-bit code is written into the half frame buffer. during this same pixel time, the previously stored 3-bit code is read out of the half frame buffer and sent to the other half of the panel. the full frame buffer operates in a similar manner. as each two pixels are read out of display memory, the appropriate 3-bit codes for the panel are calculated and stored in the buffer. during the same two pixel times, previously stored 3-bit codes are read out of the buffer and sent to upper and lower halves of the panel. there is no difference between a half frame buffer and a full frame buffer in the effect on display memory bandwidth. both options require 0.4 bytes per pixel to be read and written during each pixel time. if the buffer is located in main display memory, the total effect is 0.8 extra bytes of memory access per pixel (regardless of pixel depth). in 16 bpp modes, a total of 2.8 bytes of memory access must be performed per pixel C 2 bytes for the 16 original pixel bits, plus 0.8 byte for the buffer bits. the graphics controller actually reads and writes one dword in the buffer for every 10 pixels, which is the same as 0.8 bytes per pixel. for mode support calculations, it is usually best to assume 1.0 byte per pixel instead of 0.8, since the ras overhead for stn-dd buffer accesses is somewhat higher than for normal pixel accesses due to shorter dram bursts. the half frame buffer has a timing characteristic for the panel that may be either a problem or an advantage, depending on the application. the panel is refreshed at twice the pixel rate imposed on the display memory. in simultaneous crt and panel mode, this means that the pixel rate is dictated by the crt requirements, and the panel is refreshed at twice that rate. this may exceed panel timing limitations. however, in panel- only mode, the pixel rate from display memory can be reduced to half of what a crt would need, which imposes half the burden on display memory bandwidth and allows more complex video modes to be supported by the available display memory bandwidth. the full frame buffer allows the panel refresh rate to be the same as the crt in simultaneous display mode, but requires the buffer size to be twice as large (full frame instead of half frame, though only 0.4 bytes per pixel). .com .com .com .com .com 4 .com u datasheet
clock generation b-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 horizontal and vertical clocking clocking within a horizontal scan line is generally programmed in units of 8 dclk cycles (8 pixels), often referred to as character clocks (for graphics modes as well as text modes). the character clocks are numbered from 0 to n-1, where n is the total number of character clocks per horizontal scan (including blanking and border intervals as well as the addressable video interval). character clock #0 corresponds to the start of the addressable video interval, also known as the display enable interval. starting at character clock #0, the following horizontal timing events occur: end of display enable start of horizontal blanking (end of right border) horizontal sync pulse start and end end of horizontal blanking start of left border (this border area is actually for the next physical scan line.) end of left border area and start of display enable (this corresponds to the horizontal total parameter.) similarly, vertical clocking is generally programmed in units of scan lines, numbered from 0 to m-1, where m is the total number of scan lines per complete frame and 0 corresponds to the first scan line containing addressable video information. starting at scan line #0, the following vertical timing events occur: end of addressable video start of vertical blanking (end of bottom border) vertical sync pulse start and end end of vertical blanking (start of top border) (this border area is actually for the next physical frame.) end of top border area and start of addressable video. this corresponds to the vertical total parameter. vertical timing can also be interlaced, meaning that even numbered scan lines are displayed during one vertical sweep and odd numbered lines are displayed during the next vertical sweep. this allows more time (two vertical sweeps instead of one) to display a complete frame, which reduces video bandwidth requirements while preserving a reasonably flicker-free image. north american television standards use a 60 hz vertical sync frequency, interlaced for a 30 hz effective frame rate, with 525 scan lines total per frame (even lines plus odd, including blanking). the horizontal sync frequency is 525 x 30 hz = 15.75 khz. to achieve interlacing, the sweep of odd-numbered lines is offset by half of a scan line relative to the sweep of even-numbered lines. the vertical sync pulse for alternate frames occurs in the middle of a scan line interval (during vertical blanking) instead of at the end. north american television standards sweep 262.5 scan lines on each vertical sweep (60hz). each scan line remains full length, but the vertical sync for alter- nating frames occurs at the middle of the scan line. in the 69000, a chips super vga extension register allows the exact placement of the half-line vertical sync pulse to be programmable, for optimum centering of odd scan lines between adjacent even scan lines. computer crt displays generally need about 25% of the horizontal total for horizontal border and blanking intervals, and at least 5% of the vertical total for vertical border and blanking. flat panels typically can operate with smaller margins for these non-addressable intervals. .com .com .com .com .com 4 .com u datasheet
b-10 clock generation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
panel power sequencing c-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 appendix c panel power sequencing flat panel displays are extremely sensitive to conditions where full biasing voltage vee is applied to the liquid crystal material without enabling the control and data signals to the panel. this results in severe damage to the panel and may disable the panel permanently. the graphics controller provides a simple method to provide or remove power to the flat panel display in a sequence of stages when entering various modes of operation to conserve power and provide safe operation to the flat panel. three pins called enavee, enavdd and enabkl are provi ded to regulate the lcd bias voltage (vee), the driver electronics logic voltage (vdd), and the backlight voltage (bkl) to provide intelligent power sequencing to the panel. the delay between each stage in the sequence is programmable via the panel power sequencing delay register (fr04). the graphics controller performs the panel off sequence when the stndby# input becomes low, or if bit 3 of the power down control 1 register (fr05) is set to 1. conversely, the graphics controller performs the panel on sequence when the stndby# input becomes high, or if bit 3 of the power down control 1 register (fr05) is set to 0. .com .com .com .com .com 4 .com u datasheet
c-2 panel power sequencing &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
hardware cursor and pop up window d-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 appendix d hardware cursor and pop up window this graphics controller provides a pair of hardware-based cursors, called cursor 1 and cursor 2. cursor 1 is normally used to provide the arrow pointer in most gui applications and operating systems. cursor 2 has no pre-assigned purpose, however it is assumed that it will be usually used to provide some form of pop-up window. off-screen memory in the frame buffer is used to provide the locations where the data for both cursor 1 and cursor 2 are kept. this allows each cursor to be displayed and used without altering the main display image stored in the frame buffer. each cursor may have multiple patterns stored in these off-screen memory locations, making it possible to change each cursors appearance simply by switching from one stored image to another. two sets of eight registers (xra0-xra7 for cursor 1 and xra8-xraf for cursor 2) provide the means to configure and position both cursors. in each set of eight registers, two are used to enable, disable, and configure each cursor. another pair of registers from each set specifies the base address within the frame buffer memory where the cursor data is kept. these registers also provide a way to select one of up to sixteen cursor patterns to be used. the remaining four registers of each set are used to provide the x and y coordinates to control the current location of each cursor relative to the upper left-hand corner of the display. two sets of four alternate color data positions added to the ramdac provide places in which the colors for each of the two cursors are specified (positions 0-3 for cursor 2 colors 0-3, and positions 4-7 for cursor 1 colors 0-3). these alternate color data positions are accessed by the same sub-addressing scheme used to access the standard color data positions of the main ramdac palette, with the exception that a bit in pixel pipeline configuration register 0 (xr80) must be set so that the alternate color data positions are accessible in place of the standard color data positions. basic cursor configuration cursor 1 and cursor 2 can each be independently disabled or configured for one of six possible modes using the cursor 1 control register (xra0) and the cursor 2 control register (xra8). detailed descriptions of each of these six modes are provided later in this section. horizontal and/or vertical stretching are functions that may be independently enabled or disabled for each cursor using these registers. similar to the stretching functions used with the main display image, the stretching functions for each of the cursors only apply to flat panel displays. when enabled, the horizontal and vertical stretching functions for each cursor use the same stretching algorithms and parameter settings selected in the registers used to control the horizontal and vertical stretching functions for the main display image. the horizontal and vertical stretching functions for each cursor can be enabled or disabled entirely independently of the horizontal and vertical stretching functions for the main display image. these same two registers also provide the means to enable or disable blinking for each cursor, and to choose between two possible locations on the screen for the origin of the coordinate system used to specify the cursor location. a bit in each of these registers provides the ability to choose either the upper left-hand corner of the active display area, or the outer-most upper left-hand corner of the display border surrounding the active display area as the exact location of the origin for the coordinate system for each cursor. finally, each of these registers allows the vertical extension function to be enabled or disabled for each cursor. the vertical extension function allows the height of the cursor to be specified independently from its width, allowing cursors that are not square in shape to be created. this function is discussed in more detail later in this section. .com .com .com .com .com 4 .com u datasheet
d-2 hardware cursor and pop up window &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 base address for cursor data the cursor 1 base address low register (xra2) and the cursor 1 base address high register (xra3) are used to program the base address in the frame buffer at which the cursor data for cursor 1 begins. the cursor 2 base address low register (xraa) and the cursor 2 base address high register (xrab) provide this same function for cursor 2. the base address values stored in these registers actually specify an offset relative to the base address at which the frame buffer begins. the amount of space allocated for cursor data for each cursor is 4kb. more than one cursor pattern may be stored within this space, depending on the cursor size. while the bits in both the high and low base address registers for each of the cursors are combined to provide the base addresses, the upper four bits of each of the low base address registers (xra2 for cursor 1 and xraa for cursor 2) are used to select which of the available patterns stored within each space is to be used for each of the cursors. in the 32x32x2bpp and/xor pixel plane mode, up to sixteen 256 byte patterns can be stored in the 4kb memory space, and all four of the upper bits of the low base address registers are used to select one of these sixteen possible patterns. in all three modes with a cursor resolution of 64x64 pixels, up to four patterns of 1kb in size can be stored in the 4kb memory space, and the uppermost two of these four bits are used to select one of these four possible patterns (the other two bits should be set to 0). in both modes with a cursor resolution of 128x128 pixels, only up to two patterns of 2kb in size can be stored, and only the uppermost bit of the four bits is used to select between them (the other three bits should be set to 0). cursor vertical extension the cursor vertical extension feature allows the vertical size (height) of either cursor in any of the six possible modes to be altered from the height normally dictated by the choice of cursor mode. the cursor mode still determines the width of the cursor. this feature allows the cursor to have a non-square shape. this feature is enabled via bit 3 of either the cursor 1 control register (xra0) for cursor 1 or the cursor 2 control register (xra8) for cursor 2. once enabled, the height of the given cursor must be specified -- either in the cursor 1 vertical extension register (xra1) for cursor 1 or in the cursor 2 vertical extension register (xra9) for cursor 2. total size of the cursor data for a given cursor can not exceed the 4kb allotted for the cursor data of each cursor. this places a limit on the height of a cursor of given width and color depth. this also has implications concerning how many patterns may be stored in this space for the given cursor, and the mechanics of selecting which of those patterns is to be displayed using the upper four bits of the low base address register for each cursor. cursor colors the colors for drawing each of the two cursors are specified in two sets of four alternate color data positions added to the ramdac (positions 0-3 for cursor 2 colors 0-3, and positions 4-7 for cursor 1 colors 0-3). these alternate color data positions are accessed using the same sub-addressing scheme used to access the standard color data positions of the main ramdac palette, but with bit 0 in the pixel pipeline configuration register 0 (xr80) set so that the alternate color data positions are made accessible in place of the standard positions. if the use of a border is enabled, color data positions 6 and 7, which provide colors 2 and 3 for cursor 1, will be taken over to specify the border colors for the crt and flat-panel. this will limit cursor 1 to only colors 0 and 1. this limit on cursor 1 will not impact either of the and/xor pixel plane modes, or either of the cursor modes with a cursor resolution of 128x128 pixels because none of these four modes use cursor colors 2 or 3. .com .com .com .com .com 4 .com u datasheet
hardware cursor and pop up window d-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 cursor positioning registers xra4-xra7 and registers xrac-xraf are used to position cursor 1 and cursor 2, respectively, on the display. two registers from each group provide the high and low bytes for the value specifying the horizontal position and the other two provide the high and low bytes for the value specifying the vertical position. a bit in one of the configuration registers (xra0 for cursor 1 and xra8 for cursor 2) selects whether the values programmed into these registers are interpreted as being relative to the upper left-hand corner of the active display area or to the outer-most upper left-hand corner of the border surrounding the active display area. the values provided to these registers are signed 12-bit integers. since the origin of the coordinate system is generally relative to the upper left corner of the display, a cursor appearing entirely within the active display area will have a positive horizontal position value and a negative vertical position value. these registers are double-buffered and synchronized to vsync to ensure that the cursor never appears to come apart in multiple fragments as it is being moved across the screen. to change a cursor position, all four of its position registers must be written, and they must be written in sequence (that is, in order from xra4 to xra7 for cursor 1 and in order from xrac to xraf for cursor 2.) the hardware will only update the position with the next vsync if the registers are written in sequence. cursor modes each cursor can be independently disabled or set to one of six possible modes. this is done by using bits 2-0 in xra0 for cursor 1 and in xra8 for cursor 2. the main features which distinguish these modes from each other are the manner in which the cursor data is organized in memory and the meaning of the bits corresponding to each pixel position. the six possible modes are: 32x32x2bpp and/xor pixel plane mode 64x64x2bpp and/xor pixel plane mode 64x64x2bpp 4-color mode 64x64x2bpp 3-color and transparency mode 128x128x1bpp 2-color mode 128x128x1bpp 1-color and transparency mode the first two modes are designed to follow the microsoft windows ? 2-plane cursor data structure to ease the work of programming the cursor(s) for that particular gui environment. the other four modes are intended to improve upon the first two modes by providing additional color options or a larger resolution. the following pages discuss the various modes in greater detail. .com .com .com .com .com 4 .com u datasheet
d-4 hardware cursor and pop up window &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 32x32x2bpp & 64x64x2bpp and/xor pixel plane modes these two modes are designed to follow the microsoft windows ? cursor data plane structure, which provides two colors that may be used to draw the cursor, a third color for transparency (which allows the main display image behind the cursor to show through) and a fourth color for inverted transparency (which allows the main display image behind the cursor to show through, but with its color inverted). each pixel position within the cursor is defined by the combination of two bits of data, each of which is stored in planes referred to as the and plane and the xor plane. in the 32x32x2bpp and/xor pixel plane mode, it is possible to have up to 16 different 256byte patterns stored in a 4kb memory space starting at the base address specified in the low and high base address registers for the given cursor. in 64x64x2bpp and/xor pixel plane mode, only up to 4 different 1kb patterns may be stored. the following tables show how the cursor data is organized in memory for each of these two modes: table d-1: memor y or g anization 32x32x2bpp and/xor pixel plane mode offset plane pixels 000h and 31-0 on line 0 of pattern 0 004h and 31-0 on line 1 of pattern 0 008h xor 31-0 on line 0 of pattern 0 00ch xor 31-0 on line 1 of pattern 0 010h and 31-0 on line 2 of pattern 0 014h and 31-0 on line 3 of pattern 0 ... ... ... 0f0h and 31-0 on line 30 of pattern 0 0f4h and 31-0 on line 31 of pattern 0 0f8h xor 31-0 on line 30 of pattern 0 0fch xor 31-0 on line 31 of pattern 0 100h and 31-0 on line 0 of pattern 1 104h and 31-0 on line 1 of pattern 1 ... ... ... ff8h xor 31-0 of line 30 of pattern 1 ffch xor 31-0 of line 31 of pattern 1 .com .com .com .com .com 4 .com u datasheet
hardware cursor and pop up window d-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table d-2: memory organization 64x64x2bpp and/xor pixel plane mode the meaning of the single bit in a given pixel position in the xor plane changes depending on the bit in the corresponding position in the and plane. if the value of the bit for a given pixel position in the and plane is 0, then part of the cursor will be displayed at that pixel position and the value of the corresponding bit in the xor plane selects one of the two available cursor colors to be displayed there. otherwise if the value of the bit in the and plane is 1, then that pixel position of the cursor will become transparent, allowing a pixel of the main display image behind the cursor to show through and the value of the corresponding bit in the xor plane chooses whether or not the color of the pixel of the main display image will be inverted. table d-3 summarizes this. table d-3: pixel data 32x32x2bpp and 64x64x2bpp and/xor pixel plane modes offset plane pixels 000h and 31-0 on line 0 of pattern 0 004h and 63-32 on line 0 of pattern 0 008h xor 31-0 on line 0 of pattern 0 00ch xor 63-32 on line 0 of pattern 0 010h and 31-0 on line 1 of pattern 0 014h and 63-32 on line 1 of pattern 0 ... ... ... 3f0h and 31-0 on line 63 of pattern 0 3f4h and 63-32 on line 63 of pattern 0 3f8h xor 31-0 on line 63 of pattern 0 3fch xor 63-32 on line 63 of pattern 0 400h and 31-0 on line 0 of pattern 1 404h and 63-32 on line 0 of pattern 1 ... ... ... ff8h xor 31-0 on line 63 of pattern 3 ffch xor 63-32 on line 63 of pattern 3 and plane pixel data xor plane pixel data color displayed at the corresponding pixel position 0 0 cursor color 0 0 1 cursor color 1 1 0 transparent. the pixel of the main display ima g e behind cursor shows throu g h 1 1 transparent, but inverted. the pixel of the main display ima g e behind cursor shows throu g h with inverted color .com .com .com .com .com 4 .com u datasheet
d-6 hardware cursor and pop up window &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 64x64x2bpp 4-color mode this mode provides four colors for drawing the cursor. there is no provision for transparency in the 64x64 pixel space occupied by the cursor so unless the image behind the cursor happens to be the same color as one of the four colors used to draw the cursor, the cursor will appear to be a 64 x 64 pixel square. each pixel position within the cursor is defined by the combination of two bits, each of which is stored in planes referred to as plane 0 and plane 1. in this mode, it is possible to have up to 4 different 1kb patterns stored in a 4kb memory space starting at the base address specified in the low and high base address registers for the given cursor. the following tables show how the cursor data is organized in memory and the meaning of the two bits for each pixel position. table d-4: memor y or g anization 64x64x2bpp 4-color mode table d-5: pixel data 64x64x2bpp 4-color mode offset plane pixels 000h 0 31-0 on line 0 of pattern 0 004h 0 63-32 on line 0 of pattern 0 008h 1 31-0 on line 0 of pattern 0 00ch 1 63-32 on line 0 of pattern 0 010h 0 31-0 on line 1 of pattern 0 014h 0 63-32 on line 1 of pattern 0 ... ... ... 3f0h 0 31-0 on line 63 of pattern 0 3f4h 0 63-32 on line 63 of pattern 0 3f8h 1 31-0 on line 63 of pattern 0 3fch 1 63-32 on line 63 of pattern 0 400h 0 31-0 on line 0 of pattern 1 404h 0 63-32 on line 0 of pattern 1 ... ... ... ff8h 1 31-0 on line 63 of pattern 3 ffch 1 63-32 on line 63 of pattern 3 plane 0 pixel data plane 1 pixel data color displayed at the corresponding pixel position 0 0 cursor color 0 0 1 cursor color 1 1 0 cursor color 2 1 1 cursor color 3 .com .com .com .com .com 4 .com u datasheet
hardware cursor and pop up window d-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 64x64x2bpp 3-color and transparency mode this mode provides three colors for drawing the cursor and a fourth color for transparency (which allows the main display image behind the cursor to show through). each pixel position in the cursor is defined by the combination of two bits, stored in planes referred to as plane 0 and plane 1. in this mode, it is possible to have up to 4 1kb different patterns stored in a 4kb memory space starting at the base address specified in the low and high base address registers for the given cursor. the following tables show how the cursor data is organized in memory and the meaning of the two bits for each pixel position. table d-6: memor y or g anization 64x64x2bpp 3-color & transparenc y mode table d-7: pixel data 64x64x2bpp 3-color & transparenc y mode offset plane pixels 000h 0 31-0 on line 0 of pattern 0 004h 0 63-32 on line 0 of pattern 0 008h 1 31-0 on line 0 of pattern 0 00ch 1 63-32 on line 0 of pattern 0 010h 0 31-0 on line 1 of pattern 0 014h 0 63-32 on line 1 of pattern 0 ... ... ... 3f0h 0 31-0 on line 63 of pattern 0 3f4h 0 63-32 on line 63 of pattern 0 3f8h 1 31-0 on line 63 of pattern 0 3fch 1 63-32 on line 63 of pattern 0 400h 0 31-0 on line 0 of pattern 1 404h 0 63-32 on line 0 of pattern 1 ... ... ... ff8h 1 31-0 on line 63 of pattern 3 ffch 1 63-32 on line 63 of pattern 3 plane 0 pixel data plane 1 pixel data color displayed at the corresponding pixel position 0 0 cursor color 0 0 1 cursor color 1 1 0 transparent pixel of the ima g e behind the cursor shows throu g h 1 1 cursor color 3 .com .com .com .com .com 4 .com u datasheet
d-8 hardware cursor and pop up window &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 128x128x1bpp 2-color mode this mode provides two colors for drawing the cursor. there is no provision for transparency in the 128x128 pixel space occupied by the cursor so unless the image behind the cursor happens to be the same color as one of the two colors used to draw the cursor, the cursor will appear as a 128x128 pixel square. in this mode, it is possible to have only up to 2 different 2kb patterns stored in a 4kb memory space starting at the base address specified in the low and high base address registers for the given cursor. the following tables show how the cursor data is organized in memory and the meaning of the bit for each position. table d-8: memor y or g anization 128x128x1bpp 2-color mode table d-9: pixel data 128x128x1bpp 2-color mode offset pixels 000h 31-0 on line 0 of pattern 0 004h 63-32 on line 0 of pattern 0 008h 95-64 on line 0 of pattern 0 00ch 127-96 on line 0 of pattern 0 010h 31-0 on line 1 of pattern 0 014h 63-32 on line 1 of pattern 0 ... ... 7f0h 31-0 on line 127 of pattern 0 7f4h 63-32 on line 127 of pattern 0 7f8h 95-64 on line 127 of pattern 0 7fch 127-96 on line 127 of pattern 0 800h 31-0 on line 0 of pattern 1 804h 63-32 on line 0 of pattern 1 ... ... ff8h 95-64 on line 127 of pattern 1 ffch 127-96 on line 127 of pattern 1 pixel data bit color displayed at the corresponding pixel position 0 cursor color 2 1 cursor color 3 .com .com .com .com .com 4 .com u datasheet
hardware cursor and pop up window d-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 128x128x1bpp 1-color and transparency mode this mode provides one color for drawing the cursor and a second color for transparency (which allows the image behind the cursor to show through). in this mode, it is possible to have only up to 2 different 2kb patterns stored in a 4kb memory space starting at the base address specified in the low and high base address registers for the given cursor. the following tables show how the cursor data is organized in memory and the meaning of the bit for each position. table d-10: memor y or g anization 128x128x1bpp 1-color & transparenc y mode table d-11: pixel bit definitions 128x128x1bpp 1-color & transparenc y mode offset pixels 000h 31-0 on line 0 of pattern 0 004h 63-32 on line 0 of pattern 0 008h 95-64 on line 0 of pattern 0 00ch 127-96 on line 0 of pattern 0 010h 31-0 on line 1 of pattern 0 014h 63-32 on line 1 of pattern 0 ... ... 7f0h 31-0 on line 127 of pattern 0 7f4h 63-32 on line 127 of pattern 0 7f8h 95-64 on line 127 of pattern 0 7fch 127-96 on line 127 of pattern 0 800h 31-0 on line 0 of pattern 1 804h 63-32 on line 0 of pattern 1 ... ... ff8h 95-64 on line 127 of pattern 1 ffch 127-96 on line 127 of pattern 1 pixel data bit color displayed at the corresponding pixel position 0 transparent. pixel of the ima g e behind cursor shows throu g h 1 cursor color 2 .com .com .com .com .com 4 .com u datasheet
d-10 hardware cursor and pop up window &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
bitblt operation e-1 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 appendix e bitblt operation introduction the graphics controller provides a hardware-based bitblt engine to offload the work of moving blocks of graphics data from the host cpu. although the bitblt engine is often used simply to copy a block of graphics data from the source to the destination, it also has the ability to perform more complex functions. the bitblt engine is capable of receiving three different blocks of graphics data as input as shown in figure e-1. the source data may exist either in the frame buffer or it may be provided by the host cpu from some other source such as system memory. the pattern data always represents an 8x8 block of pixels that must be located in the frame buffer, usually within the off-screen portion. the input destination data is the data already residing at the destination in the frame buffer prior to a bitblt operation being performed. the output destination data is the data written to the destination as a result of a bitblt operation. the bitblt engine may be configured to use various combinations of the source, pattern, and input destination data as operands, in both bit-wise logical operations to generate the output destination data. it is intended that the bitblt engine will perform these bit-wise and per-pixel operations on color graphics data that is at a color depth that matches the rest of the graphics system. however, if either the source or pattern data is monochrome, the bitblt engine has the ability to put either block of graphics data through a process called color expansion which converts the monochrome graphics data to color. since the destination is often a location in the on-screen portion of the frame buffer, it is assumed that any data already residing at the destination will be of the appropriate color depth. figure e-1: block diagram and data paths of the bitblt engine .com .com .com .com .com 4 .com u datasheet
e-2 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 color depth configuration and color expansion the graphics system can be configured for color depths of 1, 2, 4, 8, 16, 24, and 32 bits per pixel, while the bitblt engine is intended to work only with graphics data having a color depth of only 8, 16, or 24 bits per pixel. it is assumed that the bitblt engine will not be used when the graphics system has been configured for a color depth that the bitblt engine was not designed to support. in theory, it is possible to configure the bitblt engine and graphics system for different color depths, but this is not recommended. the configuration of the bitblt engine for a given color depth dictates the number of bytes of graphics data that the bitblt engine will read and write for each pixel while performing a bitblt operation. it is assumed that any input destination data from the frame buffer will already be at the color depth to which the bitblt engine is configured. similarly, it is assumed that any source or pattern data used as an input will have this same color depth, unless one or both is monochrome. if either the source or pattern data is monochrome, the bitblt engine will perform a process called color expansion to convert such monochrome data to color at the color depth to which the bitblt engine has been set. during color expansion the individual bits of monochrome source or pattern data that correspond to individual pixels are converted to 8, 16, or 24 bits per pixel (i.e., 1, 2, or 3 bytes per pixel -- whichever is appropriate for the color depth to which the bitblt engine has been set). if a given bit of monochrome source or pattern data carries a value of 1, then the byte(s) of color data resulting from the conversion process will be set to the value of a specified foreground color. if a given bit of monochrome source or pattern data carries a value of 0, the resulting byte(s) will be set to the value of a specified background color. the bitblt engine is configured for a color depth of 8, 16, or 24 bits per pixel through either bits 5 and 4 of xr20, or bits 25 and 24 of br04, depending upon the setting of bit 23 of br04. whether the source and pattern data are color or monochrome must be specified using bits 12 and 18, respectively, of br04. the foreground and background colors for the color expansion of both monochrome source and pattern data may be specified using br02 and br01, respectively. alternatively, if bit 27 of br03 is set to 1, the foreground and background colors used in the color expansion of monochrome source data may be independently specified using br0a and br09, respectively. .com .com .com .com .com 4 .com u datasheet
bitblt operation e-3 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 graphics data size limitations the bitblt engine is capable of transferring very large quantities of graphics data. any graphics data read from and written to the destination is permitted to represent a number of pixels that occupies up to 8191 scanlines and up to 8191 bytes per scanline at the destination. therefore, the maximum number of pixels that may be represented per scanlines worth of graphics data depends on the color depth. any source data must represent both the same number of pixels per scanline and the same number of scanlines as both the input and output destination data. despite these constraints, if the source data is received from the host cpu via the bitblt dataport, that source data may be received as part of a much larger block of data sent by the host cpu. the bitblt engine may be programmed to skip over various quantities of bytes within such a block in order to reach the bytes containing valid source data. the actual number of scanlines and bytes per scan line required to accommodate both input and output destination data are set in br08. these two values are essential in the programming of the bitblt engine, because these values are used by the bitblt engine to determine when a given bitblt operation has been completed. it is important to note that writing a non-zero value to br08 is the trigger that causes the bitblt engine to begin a bitblt operation. therefore, all other registers must be set as desired for a given bitblt operation before br08. bit-wise operations the bitblt engine can perform any one of 256 possible bit-wise operations using various combinations of the source, pattern, and input destination data as inputs. these 256 possible bit-wise operations are designed to be compatible with the manner in which raster operations are specified in the bitblt parameter block used in the microsoft ? windows ? environment, without translation. the choice of bit-wise operation selects which of the three inputs will be used, as well as the particular logical operation to be performed on corresponding bits from each of the selected inputs. the bitblt engine will automatically forego reading any form of graphics data that has not been specified as an input by the choice of bit-wise operation. an 8-bit code written to br04 chooses the bit-wise operation. the tables on the following pages list the available bit-wise operations and their corresponding 8-bit codes. .com .com .com .com .com 4 .com u datasheet
e-4 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table e-1: bit-wise operations and 8-bit codes (00 - 5f) notes: s = source data p = pattern data d = input destination data (data at destination prior to bitblt operation) code value written to bits at destination code value written to bits at destination 00 writes all 0s 30 p and ( nots ) 01 not( d or ( p or s ))) 31 not( s or ( d and ( notp ))) 02 d and ( not( p or s )) 32 s xor ( d or ( p or s )) 03 not( p or s ) 33 nots 04 s and ( not( d or p )) 34 s xor ( p or ( d and s )) 05 not( d or p ) 35 s xor ( p or ( not( d xor s ))) 06 not( p or ( not( d xor s ))) 36 s xor ( d or p ) 07 not( p or ( d and s )) 37 not( s and ( d or p )) 08 s and ( d and ( notp )) 38 p xor ( s and ( d or p )) 09 not( p or ( d xor s )) 39 s xor ( p or ( notd )) 0a d and ( notp ) 3a s xor ( p or ( d xor s )) 0b not( p or ( s and ( notd ))) 3b not( s and ( p or ( notd ))) 0c s and ( notp ) 3c p xor s 0d not( p or ( d and ( nots ))) 3d s xor ( p or ( not( d or s ))) 0e not( p or ( not( d or s ))) 3e s xor ( p or ( d and ( nots ))) 0f notp 3f not( p and s ) 10 p and ( not( d or s )) 40 p and ( s and ( notd )) 11 not( d or s ) 41 not( d or ( p xor s )) 12 not( s or ( not( d xor p ))) 42 ( s xor d ) and ( p xor d ) 13 not( s or ( d and p )) 43 not( s xor ( p and ( not( d and s )))) 14 not( d or ( not( p xor s ))) 44 s and ( notd ) 15 not( d or ( p and s )) 45 not( d or ( p and ( nots ))) 16 p xor ( s xor (d and ( not( p and s )))) 46 d xor ( s or ( p and d )) 17 not( s xor (( s xor p ) and ( d xor s ))) 47 not( p xor ( s and ( d xor p ))) 18 ( s xor p ) and ( p xor d ) 48 s and ( d xor p ) 19 not( s xor ( d and ( not( p and s )))) 49 not( p xor ( d xor ( s or ( p and d )))) 1a p xor ( d or ( s and p )) 4a d xor ( p and ( s or d )) 1b not( s xor ( d and ( p xor s ))) 4b p xor ( d or ( nots )) 1c p xor ( s or ( d and p )) 4c s and ( not( d and p )) 1d not( d xor ( s and ( p xor d ))) 4d not( s xor (( s xor p ) or ( d xor s ))) 1e p xor ( d or s ) 4e p xor ( d or ( s xor p )) 1f not( p and ( d or s )) 4f not( p and ( d or ( nots ))) 20 d and ( p and ( nots )) 50 p and ( notd ) 21 not( s or( d xor p )) 51 not( d or ( s and ( notp ))) 22 d and ( nots ) 52 d xor (p or ( s and d )) 23 not( s or ( p and ( notd ))) 53 not( s xor ( p and ( d xor s ))) 24 ( s xor p ) and ( d xor s ) 54 not( d or ( not( p or s ))) 25 not( p xor ( d and ( not( s and p )))) 55 notd 26 s xor ( d or ( p and s )) 56 d xor ( p or s ) 27 s xor ( d or ( not( p xor s ))) 57 not( d and ( p or s )) 28 d and ( p xor s ) 58 p xor ( d and ( s or p )) 29 not( p xor ( s xor ( d or ( p and s )))) 59 d xor ( p or ( nots )) 2a d and ( not( p and s )) 5a d xor p 2b not( s xor (( s xor p ) and ( p xor d ))) 5b d xor ( p or ( not( s or d ))) 2c s xor ( p and ( d or s )) 5c d xor ( p or ( s xor d )) 2d p xor ( s or ( notd )) 5d not( d and ( p or ( nots ))) 2e p xor ( s or ( d xor p )) 5e d xor ( p or ( s and ( notd ))) 2f not( p and ( s or ( notd ))) 5f not( d and p ) .com .com .com .com .com 4 .com u datasheet
bitblt operation e-5 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table e-2: bit-wise operations and 8-bit codes (60 - bf) notes: s = source data p = pattern data d = input destination data (data at destination prior to bitblt operation) code value written to bits at destination code value written to bits at destination 60 p and ( d xor s ) 90 p and ( not( d xor s )) 61 not( d xor ( s xor ( p or ( d and s )))) 91 not( s xor ( d and ( p or ( nots )))) 62 d xor ( s and ( p or d )) 92 d xor ( p xor ( s and ( d or p ))) 63 s xor ( d or ( notp )) 93 not( s xor ( p and d )) 64 s xor ( d and ( p or s )) 94 p xor ( s xor ( d and ( p or s ))) 65 d xor ( s or ( notp )) 95 not( d xor ( p and s )) 66 d xor s 96 d xor ( p xor s ) 67 s xor ( d or ( not( p or s ))) 97 p xor ( s xor ( d or ( not( p or s )))) 68 not( d xor ( s xor ( p or ( not( d or s ))))) 98 not( s xor ( d or ( not( p or s )))) 69 not( p xor ( d xor s )) 99 not( d xor s ) 6a d xor ( p and s ) 9a d xor ( p and ( nots )) 6b not( p xor ( s xor ( d and ( p or s )))) 9b not( s xor ( d and ( p or s ))) 6c s xor ( d and p ) 9c s xor ( p and ( notd )) 6d not( p xor ( d xor ( s and ( p or d )))) 9d not( d xor ( s and ( p or d ))) 6e s xor ( d and ( p or ( nots ))) 9e d xor ( s xor ( p or ( d and s ))) 6f not( p and ( not( d xor s ))) 9f not( p and ( d xor s )) 70 p and ( not( d and s )) a0 d and p 71 not( s xor (( s xor d ) and ( p xor d ))) a1 not( p xor ( d or ( s and ( notp )))) 72 s xor ( d or ( p xor s )) a2 d and ( p or ( nots )) 73 not( s and ( d or ( notp ))) a3 not( d xor ( p or ( s xor d ))) 74 d xor ( s or ( p xor d )) a4 not( p xor ( d or ( not( s or p )))) 75 not( d and ( s or ( notp ))) a5 not( p xor d ) 76 s xor ( d or ( p and ( nots ))) a6 d xor ( s and ( notp )) 77 not( d and s ) a7 not( p xor ( d and ( s or p ))) 78 p xor ( d and s ) a8 d and ( p or s ) 79 not( d xor ( s xor ( p and ( d or s )))) a9 not( d xor ( p or s )) 7a d xor ( p and ( s or ( notd ))) aa d 7b not( s and ( not( d xor p ))) ab d or ( not( p or s)) 7c s xor ( p and ( d or ( nots ))) ac s xor (p and ( d xor s )) 7d not( d and ( not( p xor s ))) ad not( d xor ( p or ( s and d ))) 7e ( s xor p ) or ( d xor s ) ae d or ( s and ( notp )) 7f not( d and ( p and s )) af d or ( notp ) 80 d and ( p and s ) b0 p and ( d or ( nots )) 81 not(( s xor p ) or ( d xor s )) b1 not( p xor ( d or ( s xor p ))) 82 d and ( not( p xor s )) b2 s xor (( s xor p ) or ( d xor s )) 83 not( s xor ( p and ( d or ( nots )))) b3 not( s and ( not( d and p ))) 84 s and ( not( d xor p )) b4 p xor ( s and ( notd )) 85 not( p xor ( d and ( s or ( notp )))) b5 not( d xor ( p and ( s or d ))) 86 d xor ( s xor ( p and ( d or s ))) b6 d xor ( p xor ( s or ( d and p ))) 87 not( p xor ( d and s )) b7 not( s and ( d xor p )) 88 d and s b8 p xor ( s and ( d xor p )) 89 not( s xor ( d or ( p and ( nots )))) b9 not( d xor ( s or ( p and d ))) 8a d and ( s or ( notp )) ba d or ( p and ( nots )) 8b not( d xor ( s or ( p xor d ))) bb d or ( nots ) 8c s and ( d or ( notp )) bc s xor ( p and ( not( d and s ))) 8d not( s xor ( d or ( p xor s ))) bd not(( s xor d ) and ( p xor d )) 8e s xor (( s xor d ) and ( p xor d )) be d or ( p xor s ) 8f not( p and ( not( d and s ))) bf d or ( not( p and s )) .com .com .com .com .com 4 .com u datasheet
e-6 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 table e-3: bit-wise operations and 8-bit codes (c0 - ff) notes : s = source data p = pattern data d = input destination data (data at destination prior to bitblt operation) code value written to bits at destination code value written to bits at destination c0 p and s e0 p and ( d or s ) c1 not( s xor ( p or ( d and ( nots )))) e1 not( p xor ( d or s )) c2 not( s xor ( p or ( not( d or s )))) e2 d xor ( s and ( p xor d )) c3 not( p xor s ) e3 not( p xor ( s or ( d and p ))) c4 s and ( p or ( notd )) e4 s xor ( d and ( p xor s )) c5 not( s xor ( p or ( d xor s ))) e5 not( p xor ( d or ( s and p ))) c6 s xor ( d and ( notp )) e6 s xor ( d and ( not( p and s ))) c7 not( p xor ( s and ( d or p ))) e7 not(( s xor p ) and ( p xor d )) c8 s and ( d or p ) e8 s xor (( s xor p ) and ( d xor s )) c9 not( s xor ( p or d )) e9 not( d xor ( s xor ( p and ( not( d and s ))))) ca d xor ( p and ( s xor d )) ea d or ( p and s ) cb not( s xor ( p or ( d and s ))) eb d or ( not( p xor s )) cc s ec s or ( d and p ) cd s or ( not( d or p )) ed s or ( not( d xor p )) ce s or ( d and ( notp )) ee d or s cf s or ( notp ) ef s or ( d or ( notp )) d0 p and ( s or ( notd )) f0 p d1 not( p xor ( s or ( d xor p ))) f1 p or ( not( d or s )) d2 p xor ( d and ( nots )) f2 p or ( d and ( nots )) d3 not( s xor ( p and ( d or s ))) f3 p or ( nots ) d4 s xor (( s xor p ) and ( p xor d )) f4 p or ( s and ( notd )) d5 not( d and ( not( p and s ))) f5 p or ( notd ) d6 p xor ( s xor ( d or ( p and s ))) f6 p or ( d xor s ) d7 not( d and ( p xor s )) f7 p or ( not( d and s )) d8 p xor ( d and ( s xor p )) f8 p or ( d and s ) d9 not( s xor ( d or ( p and s ))) f9 p or ( not( d xor s )) da d xor ( p and ( not( s and d ))) fa d or p db not(( s xor p ) and ( d xor s )) fb d or ( p or ( nots )) dc s or ( p and ( notd )) fc p or s dd s or ( notd ) fd p or ( s or ( notd )) de s or ( d xor p ) fe d or ( p or s ) df s or ( not( d and p )) ff writes all 1s .com .com .com .com .com 4 .com u datasheet
bitblt operation e-7 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 per-pixel write masking the bitblt engine is able to perform per-pixel write-masking with various data sources used as pixel masks to constrain which pixels at the destination will actually be written to by the bitblt engine. as shown in the figure below, either monochrome source or monochrome pattern data may be used as a pixel mask, but not color source or color pattern. another available pixel mask called color transparency is derived by comparing a particular color to either the color already specified for a given pixel at the destination or the color that results from the bit-wise operation performed for a given pixel. fi g ure e-2: block dia g ram and data paths of the bitblt en g ine bits 13 and 17 of br04 are used to select either the monochrome source or the monochrome pattern data as a pixel mask. when this feature is used, the bits in either the monochrome source or the monochrome pattern data that carry a value of 0 cause the bytes of the corresponding pixel at the destination to not be written to by the bitblt engine, thereby preserving whatever data already residing within those bytes. this feature can be used in writing characters to the display in a way that preserves the pre-existing backgrounds behind those characters. bits 14 through 16 of br04 are used to select and enable 1 of 4 forms of per-pixel write-masking, each using a different color comparison as a mask. bit 14 is used to enable this function. bit 15 chooses between two different comparisons of color values. depending on the setting of bit 15, a comparison is made between a key color (carried by either br01 or br09) and either the color already specified in the bytes for each of the pixels at the destination or the color resulting from the bit-wise operation being performed for each pixel. bit 16 chooses whether the overwriting of the bytes at the destination will occur when the two compared values are found to be equal or when they are found not to be equal. .com .com .com .com .com 4 .com u datasheet
e-8 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 when the source and destination locations overlap when the source and destination locations are both within the frame buffer, it is possible to have bitblt operations in which these locations overlap. this frequently occurs in bitblt operations where a user is shifting the position of a graphical item on the display by only a few pixels. in these situations, the bitblt engine must be programmed so that output destination data is not written to the part of the destination that overlaps the source before the source data in the area of overlap has been read. otherwise, the source data will become corrupted as shown in the figure below. fi g ure e-3: source corruption in bitblt with overlappin g source and destination locations .com .com .com .com .com 4 .com u datasheet
bitblt operation e-9 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 the bitblt engine reads from the source and writes to the destination starting with the left-most pixel in the top-most line of both, as shown in step (a). as shown in step (b), corruption of the source data has already started with the copying of the top-most line in step (a) part of the source that originally contained lighter- colored pixels has now been overwritten with darker-colored pixels. more source data corruption occurs as steps (b) through (d) are performed. at step (e), another line of the source data is read, but the two right- most pixels of this line are in the region where the source and destination locations overlap, and where the source has already been overwritten as a result of the copying of the top-most line in step (a). starting in step (f), darker-colored pixels can be seen in the destination where lighter-colored pixels should be. this errant effect occurs repeatedly throughout the remaining steps in this bitblt operation. as more lines are copied from the source to the destination, it becomes clear that the end result is not as originally intended. the bitblt engine can be programmed to alter the order in which source data is read and destination data is written when necessary to avoid the kind of source data corruption problem illustrated earlier. bits 8 and 9 of br04 provide the ability to change the point at which the bitblt engine begins reading and writing data from the upper left-hand corner (the usual starting point) to one of the other three corners. in other words, through the use of these two bits, the bitblt engine may be set to read data from the source and write it to the destination starting at any of the four corners of the panel. the following figure shows how this feature can be used to perform the same bitblt operation illustrated earlier, but without corrupting the source data. .com .com .com .com .com 4 .com u datasheet
e-10 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 figure e-4: correctly performed bitblt with overlapping source and destination locations the bitblt engine reads the source data and writes the destination data starting with the right-most pixel of the bottom-most line. by doing this, no pixel existing where the source and destination locations overlap will ever be written to before it is read from by the bitblt engine. by the time the bitblt operation has reached step (e) where two pixels existing where the source and destination locations overlap are about to be overwritten, the source data for those two pixels has already been read. .com .com .com .com .com 4 .com u datasheet
bitblt operation e-11 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 the figure below shows the recommended starting points to be used in each of the 8 possible ways in which the source and destination could overlap. in general, the starting point should be within the area in which the overlap occurs. figure e-5: suggested starting points for possible source and destination overlap situations .com .com .com .com .com 4 .com u datasheet
e-12 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 contiguous vs. discontiguous graphics data graphics data stored in memory, particularly in the frame buffer of a graphics system, has organizational characteristics that often distinguish it from other varieties of data. the main distinctive feature is the tendency for graphics data to be organized in multiple sub-blocks of bytes, instead of a single contiguous block of bytes. figure e-6 shows an example of contiguous graphics data a horizontal line made up of six adjacent pixels within a single scanline on a display with a resolution of 640x480. if it is presumed that the graphics system has been set to 8 bits per pixel, and that the first byte of frame buffer memory at offset 0h corresponds to the upper left-most pixel of this display, then the six pixels that make this horizontal line starting at coordinates (256, 256) would occupy six bytes starting at frame buffer offset 28100h, and ending at offset 28105h. in this case, this horizontal line exists entirely within one scanline on the display, and so the graphics data for all six of these pixels exists within a single contiguous block comprised of these six bytes. in this simple case, the starting offset and the number of bytes are the only pieces of information that a bitblt engine would require to read this block of data. fi g ure e-6: on-screen sin g le 6-pixel line in the frame buffer the simplicity of the preceding example of a single horizontal line contrasts sharply to the example of discontiguous graphics data depicted in figure e-7. the simple six-pixel line of figure e-6 is now accompanied by three more six-pixel lines placed on subsequent scan lines, resulting in the 6x4 block of pixels shown. since there are other pixels on each of the scan lines on which this 6x4 block exists that are not part of this 6x4 block, what appears to be a single 6x4 block of pixels on the display must be represented by a discontiguous block of graphics data made up of 4 separate sub-blocks of six bytes apiece in the frame buffer at addresses 28100h, 28380h, 28600h, and 28880h. this situation makes the task of reading what appears to be a simple 6x4 block of pixels more complex. two characteristics of this 6x4 block of pixels help simplify the task of specifying the locations of all 24 bytes of this discontiguous block of graphics data. first, all four of the sub-blocks are of the same length. second, the four sub-blocks are separated from each other at equal intervals. the bitblt engine was designed to make use of these characteristics of graphics data to simplify the programming required to handle discontiguous blocks of graphics data. for such a situation, the bitblt .com .com .com .com .com 4 .com u datasheet
bitblt operation e-13 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 engine requires only four pieces of information: the starting address of the first sub-block, the length of a sub-block, the offset (in bytes) of the starting address of each subsequent sub-block, and the quantity of sub-blocks. figure e-7: on-screen 6x4 array of pixels in the frame buffer source data the source data may either exist in the frame buffer where the bitblt engine may read it directly, or it may be provided to the bitblt engine by the host cpu. the block of source graphics data may be either contiguous or discontiguous, and may be either in color (with a color depth that matches that to which the bitblt engine has been set) or monochrome. bit 10 of the bitblt control register (br04) specifies whether the source data exists in the frame buffer or is provided by the cpu. having the source data in the frame buffer will result in increased performance since the bitblt engine will be able to access it directly without involving the host cpu. if the source data resides within the frame buffer, then the source address register (br06) is used to specify the address of the source data as an offset from the beginning of the frame buffer at which the block of source data begins. however, if the host cpu provides the source data, then this register takes on a different function and the three least-significant bits of the source address register (br06) can be used to specify a number of bytes that must be skipped in the first quadword received from the host cpu to reach the first byte of valid source data. in cases where the host cpu provides the source data, it does so by writing the source data to the bitblt data port, a 64kb memory space on the host bus. there is no actual memory allocated to this memory space, so any data that is written to this location cannot be read back. this memory space is simply a range of memory addresses that the bitblt engines address decoder watches for the occurrence of any memory writes. the bitblt engine loads all data written to any memory address within this memory space in the order in which it is written, regardless of the specific memory address to which it is written and uses that data as the source data in the current bitblt operation. the block of bytes sent by the host cpu to this data port must be quadword-aligned, although the source data contained within the block of bytes does not need to be aligned. as mentioned earlier, the least significant three bits of the source address register (br06) are used to specify the number of bytes that must be skipped in the first quadword to reach the first byte of valid source data. .com .com .com .com .com 4 .com u datasheet
e-14 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 to accommodate discontiguous source data, the source and destination offset register (br00) can be used to specify the offset in bytes from the beginning of one scan lines worth source data to the next. otherwise, if the source data is contiguous, then an offset equal to the length of a scan lines worth of source data should be specified. monochrome source data bit 12 of the bitblt control register (br04) specifies whether the source data is color or monochrome. since monochrome graphics data only uses one bit per pixel, each byte of monochrome source data typically carries data for 8 pixels which hinders the use of byte-oriented parameters when specifying the location and size of valid source data. some additional parameters must be specified to ensure the proper reading and use of monochrome source data by the bitblt engine. the bitblt engine also provides additional options for the manipulation of monochrome source data versus color source data. the various bit-wise logical operations and per-pixel write-masking operations were designed to work with color data. in order to use monochrome data, the bitblt engine converts it into color through a process called color expansion, which takes place as a bitblt operation is performed. in color expansion, the single bits of monochrome source data are converted into one, two, or three bytes (depending on the color depth to which the bitblt engine has been set) of color data that are set to carry value corresponding to either the foreground or background color that have been specified for use in this conversion process. if a given bit of monochrome source data carries a value of 1, then the byte(s) of color data resulting from the conversion process will be set to carry the value of the foreground color. if a given bit of monochrome source data carries a value of 0, then the resulting byte(s) will be set to the value of the background color. the foreground and background colors used in the color expansion of monochrome source data can be set in the pattern/source expansion foreground color register (br02) and the pattern/source expansion background color register (br01), in which case these colors will be the same colors as those used in the color expansion of monochrome pattern data. however, it is also possible to set the colors for the color expansion of monochrome source data independently of those set for the color expansion of monochrome pattern data by using the source expansion foreground color register (br0a) and the source expansion background color register (br09). bit 27 in the bitblt monochrome source control register (br03) is used to select between one or the other of these two sets of registers. the bitblt engine requires that the alignment of each scan lines worth of monochrome source data be specified. in other words, whether each scan lines worth of monochrome source data can be assumed to start on quadword, doubleword, word, or byte boundaries, or that it cannot be assumed to start on any such boundary must be specified using bits 26-24 of the monochrome source control register (br03). the bitblt engine also provides various clipping options for use with monochrome source data. bits 21-16 of the monochrome source control register (br03) allow the bitblt engine to be programmed to skip up to 63 of the 64 bits in the first quadword of a block of monochrome source data to reach the first bit of valid source data. depending on the width of the block of pixels represented by the monochrome source data, this option can also be used to implement a way of clipping the monochrome source data from the top. bits 5-0 of this register allow up to 63 of the 64 bits in the first quadword in each scan lines worth of monochrome source data to be skipped to reach the first bit of valid source data in each scan lines worth. this option can be used to implement the clipping of each scan lines worth of monochrome source data from the left. bits 13-8 of this register provides similar functionality for clipping monochrome source data from the right. pattern data the pattern data must exist within the frame buffer where the bitblt engine may read it directly. the host cpu cannot provide the pattern data to the bitblt engine. as shown in figure e-8, the block of pattern graphics data always represents a block of 8x8 pixels. the bits or bytes of a block of pattern data may be organized in the frame buffer memory in only one of four ways, depending upon its color depth which may be 8, 16, or 24 bits per pixel (whichever matches the color depth to which the bitblt engine has been set), or monochrome. .com .com .com .com .com 4 .com u datasheet
bitblt operation e-15 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 figure e- 8: pattern data (always an 8x8 array of pixels) the pattern address register (br05) is used to specify the address of the pattern data as an offset from the beginning of the frame buffer at which the block of pattern data begins. the three least significant bits of the address written to this register are ignored, because the address must be in terms of quadwords. this is because the pattern must always be located on an address boundary equal to its size. monochrome patterns take up 8 bytes, or a single quadword of space, and therefore, must be located on a quadword boundary. similarly, color patterns with color depths of 8 and 16 bits per pixel must start on 64-byte and 128-byte boundaries, respectively. color patterns with color depths of 24 bits per pixel must start on 256- byte boundaries, despite the fact that the actual color data fills only 3 bytes per pixel. figures e-9, e-10, e.3-11, and e-12 show how monochrome, 8bpp, 16bpp, and 24bpp pattern data is organized in memory. figure e-9: monochrome pattern data -- occupies a single quadword figure e-10: 8bpp pattern data -- occupies 64 bytes (8 quadwords) .com .com .com .com .com 4 .com u datasheet
e-16 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 figure e-11: 16bpp pattern data -- occupies 128 bytes (16 quadwords) figure e-12: 24bpp pattern data -- occupies 256 bytes (32 quadwords) as is shown in figure e-12, there are four bytes allocated for each pixel on each scan lines worth of pattern data, which allows each scan lines worth of 24bpp pattern data to begin on a 32-byte boundary. the extra (fourth) unused bytes of each pixel on a scan lines worth of pattern data are collected together in the last 8 bytes (the last quadword) of each scan lines worth of pattern data. bit 18 of the bitblt control register (br04) specifies whether the pattern data is color or monochrome. the various bit-wise logical operations and per-pixel write-masking operations were designed to work with color data. in order to use monochrome pattern data, the bitblt engine is designed to convert it into color through a process called color expansion which takes place as a bitblt operation is performed. in color expansion, the single bits of monochrome pattern data are converted into one, two, or three bytes (depending on the color depth to which the bitblt engine has been set) of color data that are set to carry values corresponding to either the foreground or background color that have been specified for use in this process. the foreground color is used for pixels corresponding to a bit of monochrome pattern data that carry the value of 1, while the background color is used where the corresponding bit of monochrome pattern data carries the value of 0. the foreground and background colors used in the color expansion of monochrome pattern data can be set in the pattern/source expansion foreground color register (br02) .com .com .com .com .com 4 .com u datasheet
bitblt operation e-17 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 and pattern/source expansion background color register (br01). depending upon the setting of bit 27 in the monochrome source control register (br03), these same two registers may also specify the foreground and background colors to be used in the color expansion of the source data. destination data if the destination is within the frame buffer, then there are actually two different types of destination data: the graphics data already residing at the location that is designated as the destination, and the data that is to be written into that very same location as a result of a bitblt operation. if, however, the destination is selected so that the bitblt engine is to provide its output to the host cpu, then the destination data provided to the host cpu is the only kind there is. blocks of destination data to be read from and written to the destination may be either contiguous or discontiguous. all data written to the destination will have the color depth to which the bitblt engine has been set. it is presumed that any data already existing at the destination which will be read by the bitblt engine will also be of this same color depth the bitblt engine neither reads nor writes monochrome destination data. bit 11 of the bitblt control register (br04) is used to specify whether the destination data is to be written to a location within the frame buffer, or is to be provided to the host cpu. if the destination is within the frame buffer, the destination address register (br07) is used to specify the address of the destination as an offset from the beginning of the frame buffer at which the destination location begins. otherwise, only bits 2-0 of the destination address register (br07) are used, and there purpose is to specify which byte in the first quadword of destination data provided to the host cpu is the first byte of actual destination data. to accommodate discontiguous destination data, the source and destination offset register (br00) can be used to specify the offset in bytes from the beginning of one scan lines worth of destination data to the next. otherwise, if the destination data is contiguous, then an offset equal to the length of a scan lines worth of destination data should be specified. .com .com .com .com .com 4 .com u datasheet
e-18 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 bitblt programming examples pattern fill -- a very simple bitblt in this example, a rectangular area on the screen is to be filled with a color pattern stored as pattern data in off-screen memory. the screen has a resolution of 1024x768 and the graphics system has been set to a color depth of 8 bits per pixel. as shown in figure e-13, the rectangular area to be filled has its upper left-hand corner at coordinates (128, 128) and its lower right-hand corner at coordinates (191, 191). these coordinates define a rectangle covering 64 scan lines, each scan lines worth of which is 64 pixels in length in other words, an array of 64x64 pixels. presuming that the pixel at coordinates (0, 0) corresponds to the byte at address 00h in the frame buffer memory, the pixel at (128, 128) corresponds to the byte at address 20080h. fi g ure e-13: on-screen destination for example pattern fill bitblt as shown in figure e-14, the pattern data occupies 64 bytes starting at address 100000h. as always, the pattern data represents an 8x8 array of pixels. before programming the bitblt engine in any way, bit 0 of the bitblt configuration register (xr20) or bit 31 of the bitblt control register (br04) should be checked to see if the bitblt engine is currently busy. the bitblt engine should not be programmed in any way until all bitblt operations are complete and the bitblt engine is idle. once the bitblt engine is idle, programming the bitblt engine for the operation in this example should begin by making sure that the bitblt configuration register (xr20) is set to 00h, in order to specify a color depth of 8 bits per pixel and enable normal operation. alternatively, if bit 23 of the bitblt control register (br04) is set to 1, then the color depth of the bitblt engine may be set to 8 bits per pixel by setting bits 25 and 24 of the same register to 0, although it is still necessary to ensure that at least bit 1 of the bitblt configuration register is set to 0 to enable normal operation. the bitblt control register (br04) is used to select the features to be used in this bitblt operation, and must be programmed carefully. bits 22-20 should be set to 0 to select the top-most horizontal row of the pattern as the starting row used in drawing the pattern starting with the top-most scan line covered by the destination. since actual pattern data will be used, bit 19 should be set to 0. the pattern data is in color with a color depth of 8 bits per pixel, so bits 18 and 17 should also be set to 0. since this bitblt operation .com .com .com .com .com 4 .com u datasheet
bitblt operation e-19 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 does not use per-pixel write-masking, bits 16-13 should be set to 0. bit 12 should be set to 0 to ensure that the settings in the monochrome source control register (br03) will have no effect on this bitblt operation. bit 11 should be set to 0 to configure the bitblt engine for a destination within the frame buffer. the setting of bits 10-8 do not affect this bitblt operation, since source data is not used. therefore, these bits might as well be set to zero as a default. finally, bits 7-0 should be programmed with the 8-bit value of f0h to select the bit-wise logical operation in which a simple copy of the pattern data to the destination takes place. selecting this bit-wise operation in which no source data is used as an input causes the bitblt engine to automatically forego either reading source data from the frame buffer or waiting for the host cpu to provide it. bits 28-16 of the source and destination offset register (br00) must be programmed with number of bytes in the interval from the start of one scan lines worth of destination data to the next. since the color depth is 8 bits per pixel and the horizontal resolution of the display is 1024, the value to be programmed into these bits is 400h, which is equal to the decimal value of 1024. since this bitblt operation does not use source data, the bitblt engine ignores bits 12-0. bits 22-3 of the pattern address register (br05) must be programmed with the address of the pattern data. this address is specified as an offset from the beginning of the frame buffer where the pattern data begins. in this case, the address is 100000h. similarly, bits 22-0 of the destination address register (br07) must be programmed with the address of the destination, i.e., the offset from the beginning of the frame buffer of the byte at the destination that will be written to first. in this case, the address is 20080h, which corresponds to the byte representing the pixel at coordinates (128, 128). figure e-14: pattern data for example pattern fill bitblt this bitblt operation does not use the values in the pattern/source expansion background color register (br01), the pattern/source expansion foreground color register (br02), the monochrome source control register (br03), the source address register (br06), the source expansion background color register (br09), or the source expansion foreground color register (br0a). the destination width and height register (br08) must be programmed with values that describe to the bitblt engine the 64x64 pixel size of the destination location. bits 28-16 should be set to carry the value of 40h, indicating that the destination location covers 64 scan lines. bits 12-0 should be set to carry the value of 40h, indicating that each scan lines worth of destination data occupies 64 bytes. the act of writing a non-zero value for the height to the destination width and height register (br08) is what signals the bitblt engine to begin performing this bitblt operation. therefore, it is important that all other programming of the bitblt registers be completed before this is done. .com .com .com .com .com 4 .com u datasheet
e-20 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 figure e-15 shows the end result of performing this bitblt operation. the 8x8 pattern has been repeatedly copied (tiled) into the entire 64x64 area at the destination. figure e-15: results of example pattern fill bitblt drawing characters using a font stored in system memory in this example bitblt operation, a lowercase letter f is to be drawn in black on a display with a gray background. the resolution of the display is 1024x768, and the graphics system has been set to a color depth of 8 bits per pixel. figure e-16 shows the display on which this letter f is to be drawn. as shown in this figure, the entire display is shaded gray. the letter f is to be drawn into an 8x8 region on the display with the upper left-hand corner at the coordinates (128, 128). .com .com .com .com .com 4 .com u datasheet
bitblt operation e-21 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 figure e-17 shows both the 8x8 pattern making up the letter f and how it is represented somewhere in the hosts system memory the actual address in system memory is not important. the letter f is represented in system memory by a block of monochrome graphics data that occupies 8 bytes. each byte carries the 8 bits needed to represent the 8 pixels in each scan lines worth of this graphics data. this type of pattern is often used to store character fonts in system memory. figure e-16: on-screen destination for example character drawing bitblt figure e- 17: source data in system memory for example character drawing bitblt during this bitblt operation, the host cpu will read this representation of the letter f from system memory, and write it to the bitblt engine by performing memory writes to the bitblt data port. the bitblt engine will receive this data from the host cpu and use it as the source data for this bitblt operation. the bitblt engine will be set to the same color depth as the graphics system ( 8 bits per pixel, in this case. since the source data in this bitblt operation is monochrome, color expansion must be used to convert it to an 8 bpp color depth. to ensure that the gray background behind this letter f is preserved, per-pixel write masking will be performed, using the monochrome source data as the pixel mask. as in the example of the pattern fill bitblt operation, the first step before programming the bitblt engine in any way is to check either bit 0 of the bitblt configuration register (xr20) or bit 31 of the bitblt control register (br04) to see if the bitblt engine is currently busy. after waiting until the bitblt engine is idle, .com .com .com .com .com 4 .com u datasheet
e-22 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 programming the bitblt engine should begin by making sure that the bitblt configuration register (xr20) is set to 00h, to specify a color depth of 8 bits per pixel and to enable normal operation. alternatively, if bit 23 of the bitblt control register (br04) is set to 1, then the color depth of the bitblt engine may be set to 8 bits per pixel by setting bits 25 and 24 of the same register to 0, although it is still necessary to ensure that at least bit 1 of the bitblt configuration register is set to 0 to enable normal operation. the bitblt control register (br04) is used to select the features to be used in this bitblt operation. since pattern data is not required for this operation, the bitblt engine will ignore bits 22-17, however as a default, these bits can be set to 0. since monochrome source data will be used as the pixel mask for the per-pixel write-masking operation used in this bitblt operation, bits 16-14 must be set to 0, while bit 13 should be set to 1. bit 12 should be set to 1, to specify that the data source is monochrome. bit 11 should be set to 0 to configure the bitblt engine for a destination within the frame buffer. bit 10 should be set to 1, to indicate that the source data will be provided by the host cpu. presuming that the host cpu will provide the source data starting with the byte that carries the left-most pixel on the top-most scan lines worth of the source data, bits 9 and 8 should both be set to 0. finally, bits 7-0 should be programmed with the 8-bit value cch to select the bit-wise logical operation that simply copies the source data to the destination. selecting this bit-wise operation in which no pattern data is used as an input, causes the bitblt engine to automatically forego reading pattern data from the frame buffer. unlike the earlier example of a pattern fill bitblt operation where the monochrome source control register (br03) was entirely ignored, several features of this register will be used in this bitblt operation. bit 27 of this register will be set to 0, thereby selecting the pattern/source expansion foreground color register (br02) to specify the color with which the letter f will be drawn. this example assumes that the source data will be sent in one quadword that will be quadword-aligned. therefore, bits 26, 25, and 24, which specify alignment should be set to 1, 0, and 1, respectively. since clipping will not be performed in this bitblt operation, bits 21-16, 13-8, and 5-0 should all be set to 0. bits 28-16 of the source and destination offset register (br00) must be programmed with a value equal to number of bytes in the interval between the first bytes of each adjacent scan lines worth of destination data. since the color depth is 8 bits per pixel and the horizontal resolution of the display is 1024 pixels, the value to be programmed into these bits is 400h, which is equal to the decimal value of 1024. since the source data used in this bitblt operation is monochrome, the bitblt engine will not use a byte-oriented offset value for the source data. therefore, bits 12-0 will be ignored. since the source data is monochrome, color expansion is required to convert it to color with a color depth of 8 bits per pixel. since the pattern/source expansion foreground color register (br02) was selected to specify the foreground color of black to be used in drawing the letter f, this register must be programmed with the value for that color. with the graphics system set for a color depth of 8 bits per pixel, the actual colors are specified in the ramdac palette, and the 8 bits stored in the frame buffer for each pixel actually specify the index used to select a color from that palette. this example assumes that the color specified at index 00h in the palette is black, and therefore bits 7-0 of this register should be set to 00h to select black as the foreground color. the bitblt engine ignores bits 23-8 of this register because the selected color depth is 8 bits per pixel. even though the color expansion being performed on the source data normally requires that both the foreground and background colors be specified, the value used to specify the background color is not important in this example. per-pixel write-masking is being performed with the monochrome source data as the pixel mask, which means that none of the pixels in the source data that will be converted to the background color will ever be written to the destination. since these pixels will never be seen, the value programmed into the pattern/source expansion background color register (br01) to specify a background color is not important. since the cpu is providing the source data, and this source data is monochrome, the bitblt engine ignores all of bits 22-0 of the source address register (br06). bits 22-0 of the destination address register (br07) must be programmed with the address of the destination data. this address is specified as an offset from the start of the frame buffer of the pixel at the destination that will be written to first. in this case, the address is 20080h, which corresponds to the byte representing the pixel at coordinates (128, 128). .com .com .com .com .com 4 .com u datasheet
bitblt operation e-23 &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 this bitblt operation does not use the values in the pattern address register (br05), the source expansion background color register (br09), or the source expansion foreground color register (br0a). the destination width and height register (br08) must be programmed with values that describe to the bitblt engine the 8x8 pixel size of the destination location. bits 28-16 should be set to carry the value of 8h, indicating that the destination location covers 8 scan lines. bits 12-0 should be set to carry the value of 8h, indicating that each scan lines worth of destination data occupies 8 bytes. as mentioned in the previous example, the act of writing a non-zero value for the height to the destination width and height register (br08) provides the bitblt engine with the signal to begin performing this bitblt operation. therefore, it is important that all other programming of the bitblt engine registers be completed before this is done. figure e-18 shows the end result of performing this bitblt operation. only the pixels that form part of the actual letter f have been drawn into the 8x8 destination location on the display, leaving the other pixels within the destination with their original gray color. figure e-18: results of example character drawing bitblt .com .com .com .com .com 4 .com u datasheet
e-24 bitblt operation &+,36 69000 databook subject to change without notice revision 1.3 8/31/98 .com .com .com .com .com 4 .com u datasheet
&+,36 69000 databook subject to change without notice preliminary rev. 1.3 8/31/98 chips and technolo g ies, inc. a subsidiary of intel corporation title: 69000 data book 2950 zanker road publication no.: db181.3 san jose, california 95134 stock no.: 010-181-003 phone: 408-434-0600 revision no.: 1.3 fax: 408-894-2077 date: 08/31/98 .com .com .com .com 4 .com u datasheet


▲Up To Search▲   

 
Price & Availability of M69000

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X